mySQL ODBC 在windows 64位版上的驱动问题

时间:2021-01-25 04:43:20

1,问题的起源

某次编辑一个asp文件,其中访问mysql数据库的连接字符串如下:

"driver={mysql odbc 3.51 driver};server=localhost;uid=root;pwd=sa;database=server;Stmt=Set Names 'GBK'"

在运行时。

Microsoft OLE DB Provider for ODBC Drivers '80004005'

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

\mysqlconn.asp, line 30

 

看来系统不存在mysql odbc 3.51的驱动,想起来我电脑安装了mysql-connector-odbc-5.1.6-win32.msi,那么驱动应该是5.1.6?

改为"driver={mysql odbc 5.1.6 driver};server=localhost;uid=root;pwd=sa;database=server;Stmt=Set Names 'GBK'"

故障依旧。

 

那可能是驱动版本有误。既然安装了mysql-connector-odbc-5.1.6-win32.msi,在windows的ODBC数据源管理界面总能找到版本号吧。

于是在windows控制面板上找到ODBC配置图标,打开却发现没有mySQL的驱动。

 mySQL ODBC 在windows 64位版上的驱动问题

2,问题分析

于是在网上查找原因,其中以下文章指出了问题所在。

https://jingyan.baidu.com/article/5d368d1ecef5cb3f60c057de.html

该文特别提到:

一定要到这个路径下打开数据源c:\windows\syswow64\odbcad32.exe,控制面板里打开的是64位的ODBC管理器,建立的也是调用64为驱动的数据源,32为的应用将无法使用64为的数据源。

我的机器是win64的系统,显然应该使用64为ODBC管理程序打开。

3,问题解决

于是运行c:\windows\syswow64\odbcad32.exe,终于出现mySQL ODBC驱动,且版本为5.1

mySQL ODBC 在windows 64位版上的驱动问题

 

修改asp文件的连接字符串为

"driver={mysql odbc 5.1 driver};server=localhost;uid=root;pwd=sa;database=server;Stmt=Set Names 'GBK'"

再次运行程序,正确无误。问题解决。