соединение ucanaccess jdbc без IDE

Я пытаюсь создать базовую программу JDBC с помощью MS Access. Я загрузил файл Ucanacess.zip и получил в общей сложности 6 файлов .jar, а именно: ucanaccess-3.0.7, ucanload, commons-lang-2.6, commons-logging-1.1.1, hsqldb и jackcess-2.1. 3

Я добавил их в путь к классам как переменные среды (Компьютер-> Свойства-> Расширенные настройки системы-> Переменная среды).

Но когда я запускаю свой код, он выдает исключение java.lang.ClassNotFoundException: net.ucanaccess.jdbc.UcanaccessDriver

Вот код

class DB {
    public static void main(String[] args) {
        try {
            Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
        }
        catch(ClassNotFoundException ex) {
            System.out.println(ex);
        }
    }
}

person Prakhar Singh    schedule 31.12.2016    source источник
comment
Как вы запускаете свой код (какую точную командную строку вы используете)?   -  person Mark Rotteveel    schedule 31.12.2016


Ответы (1)


Вам нужно бежать:

  • javac DB.java
  • java -cp. -cp ucanaccess-3.0.7.jar -cp ucanload.jar ... БД

Первый для компиляции DB.java. Последний для запуска java, установив путь к классам "." это каталог, в котором находится скомпилированный "DB.class"

person Pascal Heraud    schedule 31.12.2016
comment
Вместо того, чтобы указывать -cp несколько раз, вы также можете сделать это один раз и разделить банки по ; (Windows) или : (Linux и Mac) - person Mark Rotteveel; 31.12.2016
comment
Теперь он сообщает мне, что не смог найти или загрузить базу данных основного класса. Вот команда: java -cp. -cp ucanaccess-3.0.7.jar; ucanload.jar; commons-lang-2.6.jar; commons-logging-1.1.1.jar; hsqldb.jar; jackcess-2.1.3 DB - person Prakhar Singh; 01.01.2017
comment
что такое пакетное объявление класса БД? если нет пакета, вы должны быть в фолдере, содержащем DB.class. - person Pascal Heraud; 01.01.2017
comment
Они уже находятся в той же папке. - person Prakhar Singh; 02.01.2017