java - 带有 MS Access 的 JDBC 中的 "architecture mismatch between the Driver and Application"

标签 java jdbc ms-access-2007 ms-access-2010 jdbc-odbc

我一直在尝试通过 JDBC 连接到 MS Access 2007 数据库(Windows 7 64 位下的 JDK 是 64 位),但收到以下错误:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application.

我将 Access 升级到 2010,在 Windows\SysWOW64 中使用 odbcad32.exe 并下载/安装了 32 位 Microsoft Access Database Engine 2010 Redistributable(无法安装 64 位 MS Access Database Engine 2010,因为我当前安装了 32 位 Office 产品),但仍然出现相同的错误。

我该怎么做才能克服这个错误?

最佳答案

正如我在其他答案中提到的 here ,您需要在 JVM(Java 虚拟机)中运行 Java 应用程序,其“位数”与已安装的 Access 数据库引擎(也称为“ACE”)版本相同。由于您安装了 32 位版本的 ACE,因此您需要在 32 位 JVM 中运行 Java 应用程序。

关于java - 带有 MS Access 的 JDBC 中的 "architecture mismatch between the Driver and Application",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21954131/

相关文章:

java - Payara 5 web.xml 中 PGSimpleDataSource 的自定义属性

java - 在 Intellij-IDEA 调试器中杀死 java 线程

javascript - 使用 Nashorn/JavaScript 创建 Java GUI 应用程序

java - 鼠标悬停在边界外时不会更改字符串

java - 我正在尝试设置定时器并尝试了这个逻辑,但它没有运行?

mysql - JDBC 连接错误仍然存​​在

postgresql - 如何从JDBC连接postgres数据库和logstash导入数据?

ms-access - 根据组合框选择过滤列表框

ms-access - 我可以在一个表中的主键与第二个表中的主键之间建立一对多关系吗?

ms-access - 通过 VBA MS_Access 将 MS Access 表导出为 dBase 5