到目前为止,当我不得不连接到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