在 Windows 7 64 位机器上,使用 Eclipse Kepler 64 位,JDK6,我有这个错误:
SQL 错误:java.sql.SQLException:[Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序 0 IM014 之间的体系结构不匹配
不幸的是,这个问答对我没有帮助: https://stackoverflow.com/questions/6721702/windows-7-64-bit-odbc-drivers-for-ms-access-missing
“目标”设置为:%windir%\System32\odbcad32.exe
,“开始于”设置为:%windir%\System32
因此,我将其更改为:
“目标”为:%windir%\SysWOW64\odbcad32.exe
并且“开始于”设置为 %windir%\SysWOW64
之后设置为 %windir%\System32
- 两种方式都不起作用。
我也看过这个,但答案并不令人满意(安装 32 位版本的 Java 和 STS)64-bit Java can't access 32-bit MS Access database via ODBC
我试图将参数“-D32”放入 VM 参数中,但也无济于事。
这两个都不是: Is there a Windows 7 ODBC driver for Access?
我也看过这个: http://msdn.microsoft.com/en-us/library/ms712362(v=vs.85).aspx
但这些是针对 Visual Studio 的说明,在 Eclipse KEPLER for Java SE 中,我不知道在哪里可以找到他们建议的选项(编译选项 x86 与 x64)
尝试使用这个 architecture mismatch between the Driver and Application?没有成功。当我尝试安装 64 位驱动程序时,它会提示我使用的是 32 位 Office,因此无法安装这些驱动程序。我安装了 2007 Office System Driver:Data Connectivity Components,但我没有获得以前系统上没有的任何东西 http://www.microsoft.com/en-us/download/confirmation.aspx?id=23734
如果我理解正确,因为我使用的是 Windows 7 64 位、Eclipse Kepler 64 位、JDK6 和 Office Access 2007,我相信我应该使用这个:
引用:要在64位平台下管理连接到32位驱动程序的数据源,我们使用C:\Windows\SysWOW64\odbcad32.exe
我应该怎么做才能让它工作(除了安装 32 位 Eclipse 和 32 位 JVM 正如 OP 最终在这里所做的那样(64-bit Java can't access 32-bit MS Access database via ODBC)
最佳答案
您可以在 64 位 eclipse 中使用 32 位 JRE,
goto "Window > Preferences > Java > Installed JREs", then click "Add"
然后将这个新的 32 位 JRE 用作“Access”项目的目标运行时(在“运行配置”下)。
关于java - Windows 7 64、Eclipse 64、JDK 64 和指定的 DSN 包含架构不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021680/