【发布时间】:2010-03-04 17:49:17
【问题描述】:
多年来,在 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)
.....
我怀疑 Access 驱动程序是 32 位的,因为它没有显示在 Windows 的 64 位 ODBC 控制面板中。在 ODBC 控制面板的“驱动程序”选项卡中只能看到两个 64 位驱动程序(用于 SQL Server)。
那么,我该怎么办?我宁愿不必使用 SQL Server 和 JDBC Type-4 驱动程序(但这将是我最后的手段)。
【问题讨论】: