首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows 2008上将64位Java ODBC驱动程序与Access数据库一起使用?

如何在Windows 2008上将64位Java ODBC驱动程序与Access数据库一起使用?
EN

Stack Overflow用户
提问于 2010-03-05 01:49:17
回答 6查看 15.1K关注 0票数 5

多年来,在32位系统上,我从来没有遇到过问题。为什么我不能在Windows Server 2008上将64位Java ODBC驱动程序与Access数据库一起使用?64位系统上的ODBC驱动程序是用32位代码编写的吗?下面是我看到的错误,使用64位JDK1.6.018:

代码语言:javascript
复制
java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
        at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
        at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
        at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
       .....

我怀疑Access驱动程序是32位的,因为它不会显示在windows的64位ODBC控制面板中。在ODBC控制面板的“驱动程序”选项卡中只有两个64位驱动程序(用于SQL Server)可见。

那么,我能做什么呢?我不希望使用SQL Server和JDBC Type-4驱动程序(但那将是我最后的选择)。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-03-05 02:02:24

Office 2010中的Microsoft Access将具有64位版本。Microsoft Office的早期版本仅为32位。

使用SQLExpress既免费又容易使用,而且Access和Java都可以连接到它,所以它看起来是一个很好的选择。

既然您说这是最后的选择,那么另一个选择就是运行32位JDK,它应该可以在Server2008上很好地运行。

票数 0
EN

Stack Overflow用户

发布于 2010-03-05 02:08:44

你有没有试过从Windows2008启动32位ODBC管理器,看看这是否能帮助你诊断这个问题?

32位版本的Odbcad32.exe文件位于%systemdrive%WindowsSysWoW64文件夹中

票数 2
EN

Stack Overflow用户

发布于 2011-02-16 22:22:28

我也有同样的问题。原因是我使用的是64位ODBC DSN和32位JDK。它们应该是相同的体系结构( ODBC DSN和JDK都需要是64位或32位)。如果您在32位上注册ODBC DSN并从64位应用程序(64位JVM)中调用,您将得到一个错误,指出找不到DSN源(因此,为了让应用程序看到ODBC源-您运行的应用程序的JVM应该与ODBS DSN具有相同的体系结构:两者都需要是64位,或者都是32位)。希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2381504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档