2015-11-19 6 views
-1

Я использую следующие спецификации, enter image description hereJava ODBC Ms Access Driver

и я хочу, чтобы узнать о Java в Microsoft Access, вы можете посетить обновления here

Однако, есть 2 файлов odbcad32 на моем система, первый из которых расположен на system32 enter image description here

, а второй, расположенной на syswow64 enter image description here

Я не знаю, если мой Java приложение использует ODBC на System32 или syswow64,

Когда я использовал следующий код

public static String DBase = "jdbc:odbc:datasource_access"; 

ошибка показывает:

Заданный DSN содержит несоответствие архитектуры между драйвером и приложением

но когда я использовал следующий код

public static String DBase = "jdbc:odbc:Driver={Microsoft Access Driver(*.mdb)};DBQ=D:\\Java\\u_1401087265\\1401087265db.mdb;"; 

ошибка показывает

Источник данных не найден и драйвер по умолчанию не указано

Похоже, что мое приложение Java является используя odbcad32 на System 32, но, как мы видим, в системе нет такого Microsoft Access driver 32 bit, хотя у меня есть загрузка и установка this software

Есть ли способ изменить приложение Java для работы с odbcad32 в папке Syswow64?

ответ

0

Я не знаю, если мой Java приложение использует ODBC на System32 или syswow64

Есть приложение отображает значение, возвращаемое

System.getProperty("sun.arch.data.model") 

Он будет возвращать либо "32" или «64», указывающее, что приложение работает в 32-разрядной или 64-разрядной виртуальной машине Java (JVM). Для использования DSN, созданных с помощью «SYSWOW64 \ odbcad32.exe», вы должны работать под 32-разрядной JVM.

Есть ли способ изменить приложение Java для работы с использованием odbcad32 в папке Syswow64?

Установите 32-разрядную JVM и запустите приложение с ним.

+0

Вы имеете в виду, что моя система уже установлена ​​'Java' 64bit внутри? поэтому я должен заменить их на 32 бит? – Cignitor

+0

Похоже, что на вашем компьютере установлена ​​64-разрядная версия Java.Тем не менее, на машине может быть установлено более одного JVM, поэтому вам не обязательно * заменять * ваши текущие компоненты Java, просто установите 32-разрядную JVM и настройте свой проект для его использования. –

+0

Я попробовал 'System.getProperty (« sun.arch.data.model »)' и он возвращает '64', значит ли это, что мое приложение Java - это 64-битные приложения, или Java VM на моем компьютере 64-битная? Однако, предполагая, что я продолжаю разрабатывать свои 64-битные приложения с 64-битным JVM и jdbc odbc драйвером, существовавшим выше, возможно ли это? – Cignitor

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