Проблема при попытке загрузить odbcad32 на 64-битной машине - PullRequest
0 голосов
/ 18 сентября 2011

В настоящее время я делаю небольшое Java-приложение для CRUD-доступа к базе данных доступа. На тафе они запускают 32-битные машины, поэтому он работает там, но дома я запускаю 64-битные, поэтому я провел некоторое исследование и узнал об odbcad32.exe в SysWOW64. Поэтому я сделал источник данных там, и у J Creator все еще есть ошибка, которая говорит, что Указанный DSN содержит несоответствие архитектуры между Драйвером и Приложением. Так что я сейчас думаю, что, хотя DSN находится в 32-битной версии, J Creator все еще ищет в 64-битной версии.

вот файл .properties, который загружает программа.

driver = sun.jdbc.odbc.JdbcOdbcDriver
url = jdbc:odbc:booksDSN_32;database=booksdb.mdb
username = user
password = password
connections=1

Я подумал, что, возможно, URL должен быть другим, поэтому я изменил его на

url = jdbc: odbcad32: booksDSN_32; база данных = booksdb.mdb

не повезло с этим. я уверен, что это что-то маленькое.

Спасибо за любую помощь, которую вы можете оказать!

Ответы [ 2 ]

0 голосов
/ 19 сентября 2011

Высокий и низкий --- ---

  • Все исполняемые файлы, библиотеки DLL и т. Д., Выполняющие одно и то же пространство процесса, должны иметь одинаковую битность (все 32-битные или все 64-битные)

  • У моста Sun JDBC к ODBC будет часть C (бит ODBC), которая будет вероятно 32-битной ..

Итак, вам понадобится для запуска вашей Java-программы с использованием 32-битной среды выполнения Java - которая загружает 32-битную часть C моста - которая ищет в реестре 32-битный источник данных ODBC - который загружает 32-битный драйвер ODBC ...

Я подозреваю, что то, что у вас есть - 64-битная Java не может загрузить 32-битную часть C моста ...

Существуют и другие мосты JDBC-ODBC, такие как Многоуровневый мост JDBC-ODBC из OpenLink Software , построенный с использованием архитектуры клиент-сервер.

Тонкий клиент JDBC, подключающийся к стороне сервера ODBC Bridge (или к той же машине, что и клиент), - что может быть очень полезно, когда драйвер ODBC существует с определенной битностью (скажем, только 32-битной) ...

0 голосов
/ 18 сентября 2011

Используете ли вы 32-битную или 64-битную Java?

Другими словами, на вашем 64-битном компьютере Java работает из-под C:\Program Files\Java или C:\Program Files (x86)\Java?

В прошлом у меня было несколько проблем с использованием32-битные библиотеки DLL с Java на 64-битных машинах.Исправление в обоих случаях заключалось в использовании 32-битной Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...