Я пытался подключиться к базе данных MS Access 2007 через JDBC. Мой JDK - 64-разрядный JDK 1.6u18, а ОС - 64-разрядная Windows 7. Но проблема в том, что я не могу создать DSN, используя Windows\system32\odbcad32.exe
, потому что он вообще не показывает драйверы ODBC для MS Access, а только драйверы для MS SQL Server.
При попытке нажать «Настроить» для «Базы данных MS Access» (я думаю, это уже созданный DSN), сначала отображается сообщение об ошибке: «Процедуры установки для драйверов Microsoft Access (* .mdb, * .accdb»). ) Драйвер ODBC не найден. Пожалуйста, переустановите драйвер. "
А затем еще одно сообщение: «Обнаружены ошибки! Указанный DSN содержит несоответствие архитектуры между драйвером и приложением».
Я не могу переустановить MDAC, так как он не работает с Windows 7 (которая поставляется с собственным WDAC).
Файл odbcad32.exe в Windows\SysWOW64
позволяет мне создать DSN для MS Access, он показывает, что драйверы установлены правильно. Однако при попытке подключиться к этому DSN через программу Java я получаю следующее исключение:
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(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at AccessTest.main(AccessTest.java:19)
В чем может быть проблема и что мне нужно сделать, чтобы она работала? Моя ОС, а также JDK являются 64-битными. Не могу ли я подключиться к базе данных Access 2007, которая, как я предполагаю, является 32-разрядной? Любая помощь будет высоко оценен. Кроме того, если кто-то считает, что это неправильное место для этого вопроса, я заранее извиняюсь. Тогда, пожалуйста, ведите меня на соответствующий форум.
Другой вариант - найти сторонний драйвер JDBC для MS Access. Но мне нужно знать, что не так с моей конфигурацией. : - /
PS: я знаю, что существует множество более качественных баз данных, но по нескольким неудачным причинам у меня есть для использования только MS Access, и я должен заставить его работать.