java - Windows 7 64、Eclipse 64、JDK 64 和指定的 DSN 包含架构不匹配

标签 java eclipse odbc

在 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

还有这个 http://social.msdn.microsoft.com/Forums/vstudio/en-US/097ff93d-20be-41ed-b318-dc51cca0b811/the-specified-dsn-contains-an-architecture-mismatch-between-the-driver-and-application?forum=wcf

但这些是针对 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

我也看过这个: http://social.technet.microsoft.com/Forums/sqlserver/en-US/a4ddb239-64d8-4074-978c-45c30381c107/ssrs-2012-error-im014-microsoftodbc-driver-manager-the-specified-dsn-contains-an-architecture?forum=sqlreportingservices

如果我理解正确,因为我使用的是 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/

相关文章:

java - 在 Java 中检查一行是否有效

Java EE - Seam 2 与 Seam 3 - 我现在应该选择哪个?

java - 当在mysql数据库的日期时间列中插入日期和时间时,它将插入日期,但时间是00-00-00

c - Eclipse IDE 中代码的工作顺序

c# - 通过 C# 程序访问 MySQL - 错误 [IM002] 未找到数据源名称且未指定默认驱动程序

sql-server - 在Linux Centos 6.6上使用R连接到SQL Server

sql - HSTMT、UCHAR、SDWORD在ODBC日志中的含义

java - 在包含 ListView (Android) 的 View 中滚动

java - 集成 Struts Core 1.3.10 后 - 本地主机上的 Tomcat 8.0.21 服务器无法启动

java - 在 Java 中使用 SecureRandom