I hardly know where to begin with this, so I’ll just dive right in the middle.
“SQL Server” means “Microsoft SQL Server”, which is why that isn’t working. For some reason Microsoft like to name their products after generic terms.
invoke-sql
is part of PowerGadgets, and is documented here: http://support.softwarefx.com/SupportDocTree.aspx?Prod=PG10&Type=A
Judging by the sparse documentation, and by the error messages you’re getting, invoke-sql
expects to connect to a database via ADO.NET. From the documentation I don’t see any way to tell it what ADO.NET driver to use, but it sounds like maybe you can set that up in some sort of GUI — bit weird, but OK.
ADO.NET provides a compatibility layer to connect to databases that only provide OLE DB or ODBC drivers. If you choose “OLE DB” or “ODBC” then it sounds like PowerGadgets is talking through that compatibility layer (again, judging from the error messages).
The reason OLE DB isn’t working for you is that the connection string you’re providing is telling OLE DB to connect through yet another compatibility layer in order to talk to a database via its ODBC drivers. It sounds like ADO.NET specifically disallows this, presumably because it would cause all kinds of pain to talk to a database through two compatibility layers and an ODBC driver.
MySQL doesn’t provide an OLE DB driver, but you might be able to get it working by installing a third party MySQL OLE DB driver (unfortunately a paid product, but you can try it for free for a few days).
ODBC should work but it sounds like something is trying to validate your connection string as if it were an OLE DB connection string. OLE DB connection strings include a Provider
parameter, but I’ve never seen that parameter in an ODBC connection string. I’m a bit stumped by this one but I suspect a bug/misfeature in PowerGadgets.
MySQL provides an ADO.NET driver called Connector/NET. If you install that, then if you’re lucky maybe PowerGadgets will offer you the option of using that driver instead. I kind of doubt that it will, but if it does then this is probably your best option. A MySQL Connector/NET connection string looks like:
server=localhost;user=dan;database=stuff;port=3306;password=bla;
Best Answer
I suppose your mysql server is running on Windows...thus open a DOS window and type:
netstat -an
You should find a row like this:
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
This tell you that mysql server is running and listening on TCP port 3306.
Another test you can do is to telnet (from another pc) to your mysql server:
telnet ip_mysql_server 3306
This should open a telnet session: