2013-06-01 74 views
0

在嘗試建立到Access 2007數據庫的JDBC連接時出現錯誤。在連接到MS Access 2007時出錯提示

環境的詳細信息:Windows 7 64-bit, JRE 7 64-bit, Access 2007 32-bit

driver = "sun.jdbc.odbc.JdbcOdbcDriver"; 
url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+database+";"; 
DriverManager.getConnection(url, dbusername, dbpassword); 

我得到以下異常

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

回答

1

JdbcOdbcDriver只是ODBC的橋樑。您正在使用Access 32位,因此它的ODBC是32位。您將無法在普通的ODBC管理器中看到它,並且必須使用C:\ Windows \ SysWOW64 \ odbcad32.exe來查看它。出於這個原因,Java 64不會找到它。

基本上,你試圖做的是不可能的。您應該使用Java 32位來使其運行。我認爲Access 2007沒有ODBC 64位,但是如果使用Java 64,則可以嘗試使用該路由。無論如何,問題的根源在於Window 64中有兩個不同的DSN集,一個用於64 -bits,一個用於32位,那麼您只能使用C:\ Windows \ SysWOW64 \ odbcad32.exe來查看

1

安裝訪問的32位版本只安裝Access數據庫引擎的32位版本。明顯的解決方法是從here下載並安裝Access數據庫引擎的64位版本,但如果64位安裝程序在計算機上檢測到任何32位Office應用程序,則它們將退出。所以,你的選擇是:

  • 切換到32位Java環境,或

  • 交換機訪問的64位版本。