某次編輯一個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'"
再次運行程序,正確無誤。問題解決。