Системная переменная UCANACCESS_HOME не установлена

Я пытаюсь использовать UCanAccess для подключения приложения Java к базе данных Access, но при запуске приложения Java появляется сообщение об ошибке

Системная переменная UCANACCESS_HOME не определена...

Я добавил шесть файлов jar в библиотеку проекта в NetBeans. Я также добавил путь к каталогу, где хранится файл ucanaccess-3.0.3.jar, в системную переменную PATH в Windows 10. Я также безуспешно пытался создать новую системную переменную UCANACCESS_HOME.

Любая помощь, которая может направить меня в правильном направлении, будет принята с благодарностью.

3 ответа

Вы также можете

(1) убедитесь, что ваш CLASSPATH включает в себя ucanaccess-x.x.x.jar и четыре (4) файла jar в каталоге "lib" дистрибутива UCanAccess,

или же

(2) убедитесь, что ваш CLASSPATH включает только ucanload.jar из папки "загрузчик" и установите системное свойство Java с именем UCANACCESS_HOME когда вы запускаете виртуальную машину Java, например, с помощью -Dproperty=value переключатель

-DUCANACCESS_HOME=<directory into which you unpacked the UCanAccess binary distribution>

То есть, UCANACCESS_HOME должен указывать на каталог, который непосредственно содержит ucanaccess-x.x.x.jar после распаковки ZIP-файла дистрибутива UCanAccess. Например:

-DUCANACCESS_HOME=/home/gord/Downloads/JDBC/UCanAccess-3.0.1-bin

Две конфигурации являются взаимоисключающими. Первый - общепринятый.

Второй использует механизм загрузки классов драйвера JDBC для загрузки зависимостей с другим загрузчиком классов. Если приложение уже использует определенные версии HSQLDB, commons-lang, commons-logging и / или Jackcess, то ucanload.jar может использоваться, чтобы избежать конфликтов между различными версиями тех jar-файлов, которые в конечном итоге используются вашим приложением. Другими словами, используя этот подход, вы можете быть уверены, что ваше приложение продолжает использовать (другие) версии HSQLDB, commons-lang, commons-logging и / или Jackcess, которые использовались ранее, в то время как UCanAccess использует их в своем дистрибутиве.,

Спасибо за помощь Джамадей.

Я определил, что проблема заключалась в пути к файлу.mdb в моем коде. Вместо того, чтобы использовать относительный путь, я использовал абсолют. Это не было проблемой с драйвером Ucanaccess.

Кроме того, мне нужно было удалить банку ucanload из проекта.

После стольких попыток, наконец, я думаю, что нашел решение... попробуйте создать новую базу данных и перезапустить вашу базу данных и текстовый редактор

Другие вопросы по тегам