Query MySQL from within Samba

This works for MS SQL using either of the first listed drivers, so if you have a valid ODBC driver installed for MySQL, then something like this should theoretically work:

function myConnect() {
  var driver = "";
  driver = "ODBC Driver 11 for SQL Server";
  driver = "SQL Server Native Client 11.0";
  //driver = "mySQL ODBC 3.51 Driver";

  var conString = "Driver={"+driver+"};";
  conString += "Server=127.0.0.1;";
  //conString += "Port=4900;";
  conString += "Database=SambaPOS5;";
  conString += "Uid=sa;";
  conString += "Pwd=sambapos;";
  conString += "Option=3";

  var conn = new ActiveXObject("ADODB.Connection"); 
  var rs = new ActiveXObject("ADODB.Recordset"); 

  //conn.open ="Driver={mySQL ODBC 3.51 Driver};Server=xxx.xxx.xxx.xxx;Port=4900;Database=my_dbname;Uid=user;Pwd=pass;Option=3"; 
  conn.open = conString;

  var sSQLStatement = "SELECT count(*) FROM Entities"; 
  rs.Open(sSQLStatement, conn); 

  /*
  rs.MoveFirst;
  rs.MoveNext;
  rs.RecordCount;
  rs.Fields.Count;
  rs.Fields(i).Name;
  rs.Fields(i).Value;
  rs.Fields.Item(0)
  */

  rs.MoveFirst;
  var result = rs.Fields(0).Value;

  rs.close;
  conn.close;
      
  return result;
}

To find your installed drivers, search Windows for ODBC, then add a DSN to see what is listed as being installed …

P.S. that image shows 64-bit drivers, but if your choose 32-bit, you will see MANY more drivers installed.

1 Like