В течение многих лет на 32-битных системах у меня никогда не было проблем. Почему я не могу использовать 64-битный драйвер Java ODBC с базой данных Access в Windows Server 2008? Драйвер ODBC в 64-битной системе записан в 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-разрядным, потому что он не отображается в 64-разрядной панели управления ODBC для Windows. На вкладке «Драйверы» панели управления ODBC отображаются только два 64-разрядных драйвера (для SQL Server).
Итак, что я могу сделать? Я бы предпочел не использовать SQL Server и драйвер JDBC Type-4 (но это было бы моим последним средством).