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驱动程序(但那将是我的最后手段).
Office 2010 中的 Microsoft Access 将有 64 位版本。Microsoft Office 的早期版本仅是 32 位。
使用SQLExpress既免费又易于使用,而且 Access 和 Java 都可以连接到它,因此它似乎是一个不错的选择。
既然你说这是最后的手段,另一个选择是运行 32 位 JDK,它应该在 Server 2008 上运行良好。