2012-04-21 4 views
0

Я пытался подключиться к базе данных доступа, используя jdbc и swings. Тем не менее, Я не смог найти драйвер базы данных MS Access (* .mdb) в панели управления источником данных ODBC. Доступен только один из SQL Server. Прочитав немного в этом, я предполагаю, что это произошло, потому что моя ОС была 64 бит, а мой MS Access был 32 бит.Ошибка JDBC SQL при подключении к базе данных Access

Затем я пошел в Windows/Syswow64/odbcad32.exe

Там я смог найти драйвер БД Microsoft Access. Я установил соответствующее соединение с базой данных с именем «avi» и снова запустил его.

Я получил эту ошибку

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 Conn.updt(Conn.java:25) 

Conn.java линии 24 и 25:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
Connection con = DriverManager.getConnection("jdbc:odbc:avi"); 

Я все еще думаю, что его 32-64 немного проблема а, но есть ли поворот? Что-то, что не потребует большого опыта, поскольку я не очень хорошо знаком с этим.

+0

Chekc ссылка http://stackoverflow.com/questions/2810754/architecture-mismatch-between-the-driver-and-application – user1127214

+0

Благодарим вас за вышеуказанную ссылку. Тем не менее, я использую Access 2007. Любой другой способ? –

ответ

1

--from MSDN -

Для управления источником данных, который подключается к драйверу с 32-битным под 64-битной платформе, используйте C: \ Windows \ SysWOW64 \ odbcad32.exe. Чтобы управлять источником данных, который подключается к 64-битовому драйверу, используйте c: \ windows \ system32 \ odbcad32.exe.

Если вы используете 64-разрядный odbcad32.exe для настройки или удаления DSN, который подключается к 32-битовому драйверу, вы получите это сообщение.

+0

Спасибо за информацию :) Здесь мой источник данных - это база данных MS Access 2007 с именем «avi», которую я пытаюсь подключить. Драйвер 32-бит odbcad32.exe. У system32/odbcad32.exe нет драйвера для доступа. Только SQL Server. все еще охотясь за решением ... –

Смежные вопросы