Sql-server – 64-Bit OLEDB Provider for ODBC (MSDASQL) issues

MySQLsql server

I need to create a Linked Server from SQL 2008 SP1 64 bit instance located on a Windows 64 bit 2003 SP2 server towards a Mysql Server. As many of you know MSDASQL provider for 64 bit systems was put available by Microsoft later in a hot fix. This is what I have done so far:

  1. Install MySQL connector.
  2. Install MSDASQL provider.
  3. Create ODBC connection with correct credentials. Test is succesfull.

When I try to create a Linked Server specifying the new DSN created I get the following error:

Cannot initialize the data source
object of OLE DB provider "MSDASQL"
for linked server "MYSQL". OLE DB
provider "MSDASQL" for linked server
"MYSQL" returned message "Specified
driver could not be loaded due to
system error 998 (MySQL ODBC 5.1
Driver).". (Microsoft SQL Server,
Error: 7303)

I mention that I didn't reboot the server after installing the hotfix containing the OLEDB provider since it is a Production server and I must have a very good reason for doing this. Is the restart required?

I installed process monitor and I saw that before throwing the error SQL tries to get access to two paths:

Path: C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5.dll.2.Config
Result: NAME NOT FOUND

Path: C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\
Result: NAME NOT FOUND

I gave full rights on C:\Program Files\MySQL\Connector ODBC 5.1 to user which tries to get the access.

Does anybody know how I can fix this?

Thanks,

Best Answer

Ok, just read this on a blog. YMMV

http://www.ryanjadams.com/2011/03/dsn-windows-64bit/