Win7 64位配置JDBC-ODBC資料源,連接配接ACCESS資料庫
今天我有一個Java的資料庫作業:配置ODBC,連接配接ACCESS資料庫,練習JDBC-ODBC方式的資料庫程式設計。但是在配置ODBC資料源的時候出現了問題。如下是問題和解決方案:
(一)我的電腦是win7(64bit)作業系統,在建立ODBC資料源的時候,在“管理工具”中找不到“Microsoft AccessDriver (*.mdb)”驅動程式,如圖1所示:
圖1 控制台的“管理工具”中沒有Microsoft Access Driver (*.mdb)驅動
但是我在“C:\Windows\SysWOW64”路徑下,打開odbc32.exe,卻可以找到Access資料庫的驅動程式,然後成功配置了Student資料源,如圖2所示:
圖2 odbc32.exe方式建立ACCESS資料源
最後,在Access 2010中打開建立在Java程式路徑下的student.mdb資料庫,就可以看到如圖1所示的結果了。
(二)用eclipse程式設計連接配接資料庫
在上面的配置中,我采用的是“JDK(32bit)版本”+“Office2010(32bit)版本”編譯運作程式;這裡涉及到運作環境的版本問題:
JDK(32bit)版本+Microsoft office2010(32bit)版本;
如果兩者的版本不同,就會出現下面的問題:
圖3 eclipse(JDK64bit)版本運作的結果
另外,由于Win7 (64bit)OS中,eclipse隻能用JDK(64bit)版本。是以我選擇配置了JDK(64bit)版本。
還有一種方法是:采用Office2010(64bit)+JDK(64bit)的方式,但是這種方式由于要重新安裝Office2010,太麻煩了,就沒采用。
下面是後來我重新安裝Office2010(64bit)後,直接在控制台的管理工具中找到Access資料庫的驅動程式:
圖4 OS與Office都是64bit情況下驅動界面正常
今天無意間看到這個程式,發現資料庫沒有了,于是重建。But,遇到了一個問題,還有一個發現:
1.提示沒有合适的資料庫驅動?
分析:jdbc-odbc橋接方式通路Access的資料庫驅動是直接包含在jdk\jre\rt.jar中,而且這個jar包也在。可為什麼會提示這個錯誤?經過排查,終于發現這個項目在eclipse中配置的jdk是另外一個版本的,而且和系統環境變量的jdk版本不符合。
解決:将本程式的jdk版本改為與環境變量JAVA_HOME一緻的jdk版本即可!
2.在配置ODBC的Access資料源Student時,在“進階”選項中設定使用者名,密碼有什麼作用?
分析:在java連接配接資料源的地方,沒寫使用者名和密碼,一樣能夠登入該Access資料庫
總結:設定使用者名,密碼沒啥用!(可想而知,安全性低)