2011-09-18 54 views
0

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

这里是ap加载的.properties文件。

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

我想也许URL需要是不同的,所以我把它改成

URL =的jdbc:odbcad32:booksDSN_32;数据库= booksdb.mdb

没有运气这一点。我敢肯定它的小东西我在这里缺少的东西

谢谢你的任何帮助,你可以提供!

+0

一些我在项目设置和JDK配置文件中查看的更多信息,它使用的JDK版本是1.6.0_24,它们看起来像程序文件\ java – Zac

+0

,它看起来是64位Java。如果将其更改为32位Java,会发生什么情况? –

+0

对不起,但我不知道如何将其更改为32位。它只是创建一个具有程序文件(x86)\ java主路径的新JDK配置文件? – Zac

回答

0

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

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

我在过去在64位机器上使用32位DLL与Java一起使用过几个问题。两种情况下的修复都是使用32位Java。

+0

我在程序文件和程序文件(x86)中都有一个java文件。即时通讯不知道如何判断它使用哪一个。 – Zac

+0

在JCreator中,从项目菜单中选择项目设置项目。在“JDK配置文件”选项卡中,应勾选其中一个JDK配置文件。点击它并点击编辑。 'Home路径'包含'C:\ Program Files \ Java'或'C:\ Program Files(x86)\ Java'吗? –

0

高大短是---

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

  • 的孙JDBC到ODBC桥将有一个C部分(ODBC位),将可能是32位..

所以,你会需要使用32位Java运行时环境(加载Bridge的32位C部分)运行您的Java程序 - 在注册表中查找32位ODBC数据源 - 加载32位ODBC驱动程序...

我怀疑你有什么是 - 64位的Java无法加载桥的32位C部分,...

还有其他JDBC到ODBC桥可以像OpenLink SoftwareMulti-tier JDBC to ODBC Bridge它采用客户端/服务器体系结构构建的。

瘦JDBC客户端连接到与ODBC桥服务器端(或同一台客户端) - 它可以是其中一个ODBC驱动程序在一定的位数存在非常有用的(比如,仅32位)...

相关问题