Как подключиться к БД MS Access с помощью Java + ODBC на Windows 7 - PullRequest
0 голосов
/ 21 ноября 2010

Я много гуглил этот вопрос, и ответы на него противоречивы, и никто не помог. Поэтому я подумал, что смогу получить немного больше помощи здесь. Мне нужно написать небольшое приложение на Java для моего следующего класса, которое получает данные из базы данных MS Access (mdb) с использованием ODBC. Моя ОС - Windows 7 Ultimate, 64 бита. Я знаю, что в папке SysWOW64 есть odbcad32. Мне удалось настроить DSN там. Но я не могу подключиться. Приложение выдает исключение SQL. Пробовал две альтернативы для DriverManager.getConnection () :

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBH=E:/DB.mdb

и

jdbc:odbc:DSN_NAME

Драйвер:

sun.jdbc.odbc.JdbcOdbcDriver

[EDIT]

Код подключения в основном следующий:

    try {
        Class.forName(driver);
        db = DriverManager.getConnection(url);
    }
    catch(SQLException e) {
        System.out.println("SQL error!");
    }
    catch(ClassNotFoundException e) {
        System.out.println("Class not found!");
    }

[/ EDIT]

И не работает. Я не знаю, как решить проблему, потому что я не знаю, в чем проблема! Если это драйвер ODBC или Java или что-то еще.

Слишком сложно использовать виртуальный WinXP для выполнения этой работы. Это не может продолжаться вечно.

[EDIT2]

Просто чтобы быть уверенным: он работает на WinXP, как это подразумевается. :}

[/ EDIT2]

Я был бы очень признателен за любую помощь, которую мог бы получить здесь. : DDDDD

1 Ответ

2 голосов
/ 21 ноября 2010

Таким образом, поскольку вы уже настроили ODBC, вы также можете убедиться, что используете тот же 64-битный драйвер odbc (если вы создали соединение odbc в папке% WINDIR% \ System32 \ odbcad32.exe).Я точно знаю, что для доступа 2007 нет 64-битного драйвера, поэтому в моем случае мне пришлось создать 32-битное соединение odbc (% WINDIR% \ SysWOW64 \ odbcad32.exe), понизить версию Java до 32 бит32-битный драйвер, чтобы заставить его работать.

Надеюсь, это поможет!

...