Системная переменная 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 из проекта.
После стольких попыток, наконец, я думаю, что нашел решение... попробуйте создать новую базу данных и перезапустить вашу базу данных и текстовый редактор