通過ODBC/JDBC連接程序和數據庫時,異常報錯“在指定的 DSN 中,驅動程序和應用程序之間的體系結構不匹配”的解決辦法
本機:64位win7,64位JDK,做Web實驗用32位myeclipse不管是Access還是SQLServer連接數據庫都出問題后,我終於明白當初做Java實驗為啥連不上Access數據庫但SQLServer沒問題了,現在完美解決,哈哈!
原因:
64位win7操作系統ODBC版本默認為64位(建立的SQLServer數據源也為64位),需對應64位JDK及64位office(access),用myeclipse時也應對應64位myeclipse版本才可使用
若為32位myeclipse,與數據庫連接時應對應32位ODBC數據源(建立的SQLServer數據源為32位)
解決方法:
X:\Windows\SysWOW64\odbcad32.exe
例如:
去C:/windows/syswow64文件夾下,打開odbcad.exe,這樣打開的就是32位版本的odbc
利用這個為odbc創建系統 DSN 連接SQLServer或Access,Access后綴應為mdb
注意此時應把jdk路徑設置為32位jdk所在路徑,若用myeclipse也應使用32位版本myeclipse
注:
64位版的位置:C:\windows\system32\odbcad32.exe
32位版的位置:C:\windows\sysWOW64\odbcad32.exe
數據庫建立並運行成功后,將JDK再改回64位好像對數據庫也無影響了