2014-02-22 25 views
1

我一直在试图2007数据库通过JDBC(JDK是Windows 7的64位在64位)连接到MS Access和我收到的“驱动程序和应用程序之间的结构不匹配”以下错误:一个在JDBC与MS访问

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

我升级进入2010年,我在Windows \ SysWOW64中使用odbcad32.exe的和下载/安装32位Microsoft Access数据库引擎2010可再发行(无法安装64位的MS Access数据库引擎2010年,因为我目前有安装32位Office产品),但我仍然有同样的错误。

我能做些什么来解决这个错误?

+0

[指定的DSN包含体系结构不匹配错误]的可能的重复(http://stackoverflow.com/questions/20008501/the-specified-dsn-contains-an-architecture-mismatch-error) –

回答

1

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

+0

我应该安装一个额外的32位JRE在我的系统上,只为这种情况?我的其他Java项目是否仍然可以使用现有的64位JRE? – user1680859

+1

@ user1680859是的,你可以在同一台机器上同时支持32位和64位的JRE。您现有的项目可以继续使用64位JRE,您可以明确告诉某个特定项目使用32位环境。 –

+0

我安装我的系统上的32位JRE,并再次相同的错误 – user1680859