【发布时间】:2012-05-04 14:27:28
【问题描述】:
到目前为止,当我必须连接到 32 位 Access 数据库时,我只是使用 32 位 JVM 执行应用程序。但是,我现在正在开发一个需要 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);
【问题讨论】:
-
看看这个帖子,好像有类似的问题stackoverflow.com/questions/3454701/…。具体来说,请查看有关从 Microsoft 安装 64 位 MS Access Redistributable pack 的最后一个答案。
-
有时它也是用户帐户,请参阅stackoverflow.com/a/36793611/808723
标签: java ms-access 32bit-64bit jdbc-odbc