尝试在64位计算机上加载odbcad32时出现问题

时间:2011-09-18 06:40:58

标签: java odbc

我目前正在制作一个小型Java应用程序来对访问数据库进行一些CRUD。在tafe他们运行32位机器,所以它在那里工作,但在家里我运行64位所以我做了一些研究,并发现了SysWOW64中的odbcad32.exe。所以我在那里创建了数据源,J Creator仍然有一个错误,指出指定的DSN包含驱动程序和应用程序之间的体系结构不匹配。所以我现在认为即使dsn是32位版本,J Creator仍然在寻找64位版本。

这是ap加载的.properties文件。

driver = sun.jdbc.odbc.JdbcOdbcDriver
url = jdbc:odbc:booksDSN_32;database=booksdb.mdb
username = user
password = password
connections=1

我想也许网址需要不同所以我把它改成了

url = jdbc:odbcad32:booksDSN_32; database = booksdb.mdb

没有运气。我确定它在这里缺少一些小东西

感谢您提供任何帮助!

2 个答案:

答案 0 :(得分:0)

您使用的是32位还是64位Java?

换句话说,在64位计算机上,Java是从C:\Program Files\Java还是C:\Program Files (x86)\Java下运行的?

过去我在64位计算机上使用带有Java的32位DLL时遇到了一些问题。两种情况下的修复都是使用32位Java。

答案 1 :(得分:0)

又高又短---

  • 运行相同进程空间的所有可执行文件,dll等都必须具有相同的位数(所有32位或全部64位)

  • Sun JDBC to ODBC Bridge将有一个C部分(ODBC位)可能为32位..

因此,您将需要使用32位Java运行时环境运行您的Java程序 - 它加载Bridge的32位C部分 - 在注册表中查找32位ODBC数据源 - 加载32位ODBC驱动程序......

我怀疑你所拥有的是 - 64位Java无法加载32位C桥的一部分......

还有其他JDBC到ODBC桥可用,例如来自Multi-tier JDBC to ODBC BridgeOpenLink Software,它是使用客户端/服务器架构构建的。

瘦JDBC客户端连接到ODBC桥服务器端(或与客户端相同的机器) - 在ODBC驱动程序存在某种位数(例如,仅32位)时非常有用...