Ответ 1
UCanAccess - это чистый JDBC-драйвер Java, который позволяет нам выполнять чтение и запись в базы данных Access без использования ODBC. Для выполнения этих задач используются два других пакета: Jackcess и HSQLDB. Ниже приведен краткий обзор того, как его настроить.
Вариант 1. Использование Maven
Если ваш проект использует Maven, вы можете просто включить UCanAccess с помощью следующих координат:
идентификатор группы: net.sf.ucanaccess
artifactId: ucanaccess
Ниже приведен отрывок из pom.xml
, вам может потребоваться обновить <version>
, чтобы получить самый последний выпуск:
<dependencies>
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>4.0.4</version>
</dependency>
</dependencies>
Вариант 2. Добавление JAR файлов в ваш проект вручную
Как упоминалось выше, UCanAccess требует Jackcess и HSQLDB. У Джекцесса в свою очередь есть свои зависимости. Поэтому для использования UCanAccess вам необходимо будет включить следующие компоненты:
UCanAccess (ucanaccess-x.x.x.jar)
HSQLDB (hsqldb.jar, версия 2.2.5 или новее)
Джекцесс (jackcess-2.x.x.jar)
commons-lang (commons-lang-2.6.jar или более новая версия 2.x)
регистрация общего пользования (commons-logging-1.1.1.jar или более новая версия 1.x)
К счастью, UCanAccess включает в себя все необходимые JAR файлы в своем дистрибутивном файле. Разархивировав его, вы увидите что-то вроде
ucanaccess-4.0.1.jar
/lib/
commons-lang-2.6.jar
commons-logging-1.1.1.jar
hsqldb.jar
jackcess-2.1.6.jar
Все, что вам нужно сделать, это добавить все пять (5) JAR файлов в ваш проект.
ПРИМЕЧАНИЕ. не добавляйте
loader/ucanload.jar
в путь сборки, если вы добавляете остальные пять (5) файлов JAR. КлассUcanloadDriver
используется только в особых обстоятельствах и требует другой настройки. Подробнее см. соответствующий ответ здесь.
Eclipse: Щелкните правой кнопкой мыши по проекту в Package Explorer и выберите Build Path > Configure Build Path...
. Нажмите кнопку "Добавить внешние файлы JAR...", чтобы добавить каждый из пяти (5) файлов JAR. Когда вы закончите, ваш Java Build Path должен выглядеть примерно так
NetBeans: Разверните древовидное представление для своего проекта, щелкните правой кнопкой мыши папку "Библиотеки" и выберите "Добавить JAR/папку...", затем перейдите к файлу JAR.
После добавления всех пяти (5) JAR файлов папка "Библиотеки" должна выглядеть примерно так:
IntelliJ IDEA: Выберите File > Project Structure...
в главном меню. На панели "Библиотеки" нажмите кнопку "Добавить" (+
) и добавьте пять (5) файлов JAR. После этого проект должен выглядеть примерно так:
Вот оно!
Теперь вы можете получить доступ к данным в файлах .accdb и .mdb, используя такой код
// assumes...
// import java.sql.*;
Connection conn=DriverManager.getConnection(
"jdbc:ucanaccess://C:/__tmp/test/zzz.accdb");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT [LastName] FROM [Clients]");
while (rs.next()) {
System.out.println(rs.getString(1));
}
Раскрытие
На момент написания этого вопроса я не имел никакого отношения к проекту UCanAccess и не имел к нему отношения; Я просто использовал это. С тех пор я стал спонсором проекта.