某次编辑一个asp文件,其中访问mysql数据库的链接字符串以下:html
"driver={mysql odbc 3.51 driver};server=localhost;uid=root;pwd=sa;database=server;Stmt=Set Names 'GBK'"mysql
在运行时。sql
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'"windows
故障依旧。ide
那多是驱动版本有误。既然安装了mysql-connector-odbc-5.1.6-win32.msi,在windows的ODBC数据源管理界面总能找到版本号吧。ui
因而在windows控制面板上找到ODBC配置图标,打开却发现没有mySQL的驱动。spa
因而在网上查找缘由,其中如下文章指出了问题所在。code
https://jingyan.baidu.com/article/5d368d1ecef5cb3f60c057de.htmlserver
该文特别提到:
必定要到这个路径下打开数据源c:\windows\syswow64\odbcad32.exe,控制面板里打开的是64位的ODBC管理器,创建的也是调用64为驱动的数据源,32为的应用将没法使用64为的数据源。
个人机器是win64的系统,显然应该使用64为ODBC管理程序打开。
因而运行c:\windows\syswow64\odbcad32.exe,终于出现mySQL ODBC驱动,且版本为5.1
修改asp文件的链接字符串为
"driver={mysql odbc 5.1 driver};server=localhost;uid=root;pwd=sa;database=server;Stmt=Set Names 'GBK'"
再次运行程序,正确无误。问题解决。