到目前爲止,當我不得不連接到32位Access數據庫時,我只是使用32位JVM執行應用程序。但是,我正在開發一個需要64位JVM的應用程序,但我仍然需要連接到32位Access數據庫。當我嘗試連接,我得到這個異常:如何從64位JVM連接到32位Access數據庫?
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
這是我的代碼:
String s = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + path;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(s, user, password);
退房這個職位,這似乎是一個類似的問題http://stackoverflow.com/questions/3454701/32-bit-text-drivers-microsoft-access-microsoft-excel-and-text-files-from-一個。具體而言,請查看有關從Microsoft安裝64位MS Access Redistributable Pack的最後一個答案。 – mazaneicha 2012-04-24 00:32:25
有時它也是用戶帳戶中看到http://stackoverflow.com/a/36793611/808723 – GameScripting 2016-04-22 12:16:42