例外:[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的架构不匹配"

时间:2014-11-24 18:38:57

标签: java eclipse jdbc jdbc-odbc

当我尝试连接MS Access (32 bit MS office)时,我有64位eclipse并使用64位jvm进行配置,这给了我错误

Exception: [Microsoft][ODBC Driver Manager] 
The specified DSN contains an architecture mismatch between 
the Driver and Application

我还在我的Win 7 64位机器中的c:\windows\sysWOW64\odbcad32.exe中定义了DSN,甚至尝试了32位和64位jvm,但每次我得到相同的错误但是当我用32位Eclipse运行相同的代码时工作正常,但我必须运行64位Eclipse,请帮助

2 个答案:

答案 0 :(得分:2)

尝试使用UCanAccess而不是JDBC-ODBC桥驱动程序。

UCanAccess是纯Java,因此不应该有任何32位/ 64位问题与Access数据库通信。此外,Java-8中不再包含JDBC-ODBC桥驱动程序,因此如果您希望应用程序在Java 8上运行,则必须从中迁移。

This answer包含有关如何设置Eclipse以使用它的说明。

答案 1 :(得分:1)

您只能使用32位应用程序中的32位ODBC驱动程序。您需要64位Access ODBC驱动程序(如果您有32位office iirc,这是不可能的),或者您需要切换到32位Java / Eclipse。

否则,请查看the answer by Luke Woodward以使用UCanAccess。