1

Я использую Windows 7 (64-разрядная версия). Я установил 64-разрядные версии Eclipse и JRE, но при попытке чтения из Access у меня возникли проблемы.

Кажется, единственный способ использовать ODBC - использовать 32-битный вариант, но он не совпадает. Похоже, что Java должна работать в 32-битном режиме, чтобы иметь возможность использовать его.

Могу ли я просто изменить Java (выбрать в свойствах проекта во время выполнения?) Или я должен переустановить Eclipse на 32-битную версию?

Я думаю, что я только установил JRE (?)

Я попытался с драйвером JDBC "UCanAccess", но я думаю, что мне, вероятно, также нужна 32-разрядная среда выполнения.

Я запускаю свою программу в Eclipse, она предназначена только для чтения данных и создания разных XML. Есть ли альтернативные драйверы? для Access или Excel (или любой другой бесплатной базы данных)?

2 ответа2

1

Проще говоря: 64-битная Windows поддерживает как 32-битные, так и 64-битные компоненты - так что вы можете выбрать либо 32-битный стек, либо 64-битный стек для вашего приложения - но все, что загружается в память вместе (Eclipse, JRE, драйвер JDBC для источников данных ODBC, драйвер ODBC) должны иметь одинаковую разрядность.

Готов поспорить, что ваш драйвер ODBC для доступа и / или самого доступа является 32-разрядным, даже если ваша среда Windows является 64-разрядной.

Исходя из этого, я думаю, вам нужно добавить 32-битный Eclipse и / или Java в вашу среду (независимо от того, сохраняете ли вы 64-битные компоненты или нет )или установить 64-битный драйвер ODBC для Access и / или 64-битный доступ.

Эта статья на сайте моего работодателя об использовании 32-битного ODBC в 64-битной Windows может помочь вам ...

Также обратите внимание - мост JDBC-to-ODBC, встроенный в JVM, НЕ рекомендуется для производственного использования и не включен ни в Java 8, ни в любую более позднюю версию JVM. Вы можете рассмотреть вариант замены моста ODBC-JDBC от моего работодателя .

0

Я попытался с драйвером JDBC "UCanAccess", но я думаю, что мне, вероятно, также нужна 32-битная среда выполнения.

Нет. UCanAccess - это реализация на чистом Java, которая не использует Access ODBC, поэтому она будет работать под любой используемой JVM: 64-разрядной или 32-разрядной, Windows/Linux/Mac, Java 7 или Java 8. (Более ранние версии Java также могут поддерживаться; для получения более подробной информации посетите сайт UCanAccess.)

См. Следующую статью переполнения стека для получения дополнительной информации о том, как его настроить:

Управление базой данных Access из Java без ODBC

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .