将 64 位 Java 应用程序连接到 32 位 ODBC 驱动程序
Posted
技术标签:
【中文标题】将 64 位 Java 应用程序连接到 32 位 ODBC 驱动程序【英文标题】:Connect Java application 64bit to ODBC driver 32bits 【发布时间】:2013-10-03 10:43:05 【问题描述】:我正在构建一个 Java 桌面应用程序,它应该通过 ODBC 驱动程序连接到 Sage ERP。 但是,我有一个 64 位的 windows7 操作系统,而 ODBC 驱动程序是 32 位的。产生以下异常的东西:
[Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配
仅供参考,我正在通过 C:\Windows\SysWOW64\odbcad32.exe 配置 DSN。
在搜索完我的查询后,我认为一个解决方案是强制 Java 应用程序在 32 位 JVM 模式下运行。 任何人都可以帮助解决这个问题
【问题讨论】:
【参考方案1】:还有另一种选择。您可以使用 JDBC-ODBC 桥接器,其中桥接部分不仅是 JDBC 和 ODBC 之间的桥梁,而且是 64 位和 32 位系统之间的桥梁。 here 通过套接字将 JDBC 驱动程序与 32 位服务器分开来做到这一点。
【讨论】:
我实际上通过简单地下载一个 32 位 JVM 并配置 eclipse 在其上运行来解决这个问题。这样我的 Java 应用程序将通过 32 位 ODBC 定义的 DSN 自动运行。【参考方案2】:只需在 cmd 上键入以下命令即可运行您的代码 " c:\progra~2\java\jdk1.7.0\bin" 然后编译并运行你的程序.... 按照命令执行,不要更改除 jdk 版本以外的单个字符
【讨论】:
这个答案可能与 OP 提出的问题无关。请重新访问。以上是关于将 64 位 Java 应用程序连接到 32 位 ODBC 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
如何在 64 位平台上创建连接到 32 位驱动程序的数据源?
当使用 32 位版本的 MySQL 的 .net 连接器连接到 64 位版本的 MySQL 时,我得到“等待表元数据锁定”