0

尝试与 Access 2007 数据库建立 JDBC 连接时出现错误。

环境细节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
4

2 回答 2

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 中您有 2 个不同的 DSN 集,一个用于 64 -bits 和一个用于 32 位,您只能使用 C:\Windows\SysWOW64\odbcad32.exe 查看

于 2013-06-01T15:22:17.010 回答
1

安装 32 位版本的 Access 只会安装 32 位版本的 Access 数据库引擎。显而易见的解决方法是从此处下载并安装 64 位版本的 Access 数据库引擎,但如果 64 位安装程序检测到计算机上的任何 32 位 Office 应用程序,它将退出。因此,您的选择是:

  • 切换到 32 位 Java 环境,或

  • 切换到 64 位版本的 Access。

于 2013-06-01T14:17:59.620 回答