2013-09-11 5 views
2

Я использую this tutorial для создания соединения с базой данных из приложения Java в базу данных Microsoft Access 2010. Учебник создает DSN системы в окнах, а затем подключается к этой системе DSN, используя следующую строку кода Java:Подключение ODBC к базе данных Access в 64-разрядной Windows

Connection conn = DriverManager.getConnection("jdbc:odbc:DSN_NAME"); 

Проблема заключается в том, что, когда я нажимаю на ссылку, чтобы добавить новый DSN системы по адресу:

Control Panel --> System and Security --> Administrative Tools --> Data Sources (ODBC) --> (System DSN Tab) --> (Add.. button) 

Это не дает мне возможность выбрать Microsoft Access в качестве типа базы данных. Вместо этого, параметры, приведенные приведены в следующей PrintScreen:

мне интересно, если это водитель вопрос, где мне нужно что-то скачать. Или это проблема конфигурации. Я использую Windows 7. Может ли кто-нибудь показать мне, как исправить это, чтобы я мог создать Системную dsn, необходимую для завершения этого учебника? Или, по крайней мере, показать мне еще один простой способ подключения к базе данных Microsoft Access из java?

+0

Try, взглянув на [пример] (http://stackoverflow.com/questions/6339055/how-to-connect-java-to-ms-access-2010) – MadProgrammer

+0

И [этот пример] (HTTP: //www.selikoff.net/2011/07/26/connect-to-ms-access-file-via-jdbc-in-64-bit-java /), который вызывает такие проблемы между 32 и 64-разрядными средами – MadProgrammer

ответ

3

64-разрядные машины Windows имеют две отдельные панели управления «Администратор источника данных ODBC»: один, который создает 64-разрядные DSN для 64-разрядных приложений, и отдельный, который создает 32-разрядные DSN для 32-разрядных приложений. На 64-битной машине Windows,

Панель управления> Администрирование> Источники данных (ODBC)

откроет 64-битный ODBC Data Source Administrator. Для того, чтобы открыть 32-битный аналог нужно запустить

C: \ Windows \ SysWOW64 \ odbcad32.exe

Вы не видите драйвер базы данных Access, потому что вы используете 64-разрядную версия Windows и 64-битный драйвер доступа не входит в комплект Windows. Windows делает корабль с 32-разрядным драйвером Jet (только файлы .mdb).

Итак, вам нужно будет выполнить одно из следующих действий:

  • Если вы используете 32-разрядную версию Java с, и вы хотите подключиться к .mdb файл, то вам нужно запустить 32 -bit ODBC Data Source Administrator, как описано выше.

  • Если вы используете 32-разрядную версию Java с, и вы хотите, чтобы иметь возможность подключения к обоим .accdb и .mdb файлов, то вам необходимо скачать и установить 32-разрядную версию базы данных Access Engine от here и затем запустите 32-разрядный администратор источника данных ODBC, как описано выше.

  • Если вы используете 64-разрядную версию Java, вам необходимо загрузить и установить 64-разрядную версию Database Database Engine с here.

+1

+1 для такого тщательного ответа. Мне не нужно было использовать механизм доступа к базе данных, потому что у меня установлен Access на компьютере. Я нашел 32-битного администратора источника данных ODBC, но решение получило больше от настройки eclipse для запуска 32-разрядного jdk для подключения к 32-битовому DNS. Ура! – CodeMed

+0

Я удалил несколько лишних сообщений, поэтому сайт проще в использовании. Спасибо, что заглянули в новый выпуск. Я смог получить свой проект eclipse для использования 32-разрядного jdk, следуя инструкциям в этом другом сообщении: http://stackoverflow.com/questions/9302687/how-can-i-tell-eclipse-to-compile-and -Build-а-проект-с-другом-JRE-VERSI – CodeMed

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