mySQL ODBC 在windows 64位版上的驅動問題


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的驅動。

 

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

 

修改asp文件的連接字符串為

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

再次運行程序,正確無誤。問題解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM