场景
要求64位程序使用mysql数据查询,我使用的是MySQL ODBC 5.2 64bit驱动;
问题
同样的程序同样的驱动同样的连接串,在windows server 2008正常连接,在server 2003连接失败。
我的连接串:
DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=127.0.0.1;DATABASE=test_sql;USER=root;PORT=3306;PASSWORD=123456;OPTION=3;charset=gbk
错误提示:
Error
Code = 800a0ea9
Code meaning = Unknown error 0x800A0EA9
Source = ADODB.Connection
Description =未指定提供程序,也没有指派的默认提供程序。
解决方法
1. 在server 2003要安装msdasql,64-Bit OLEDB Provider for ODBC (MSDASQL)
2.修改连接串,增加PROVIDER=MSDASQL;
PROVIDER=MSDASQL;DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=127.0.0.1;DATABASE=test_sql;USER=root;PORT=3306;PASSWORD=123456;OPTION=3;charset=gbk
3.运行程序正常,可以连接了。
参考:
http://www.shellbryson.com/2009/10/64bit-windows-2003-mysql-pain/