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

dja*_*fan 5 java 64-bit ms-access

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

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)
       .....
Run Code Online (Sandbox Code Playgroud)

我怀疑Access驱动程序是32位,因为它没有显示在Windows的64位ODBC控制面板中.在ODBC控制面板的"驱动程序"选项卡中只能看到两个64位驱动程序(对于SQL Server).

那么,我该怎么办?我宁愿不必使用SQL Server和JDBC Type-4驱动程序(但那将是我的最后手段).

Yis*_*hai 0

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

使用SQLExpress既免费又易于使用,而且 Access 和 Java 都可以连接到它,因此它似乎是一个不错的选择。

既然你说这是最后的手段,另一个选择是运行 32 位 JDK,它应该在 Server 2008 上运行良好。