UCanAccess - это чистый драйвер JDBC для Java, который позволяет нам читать и записывать в базы данных Access без использования ODBC. Для выполнения этих задач он использует два других пакета, Jackcess и HSQLDB . Ниже приведен краткий обзор того, как его настроить.
Вариант 1. Использование Maven
Если в вашем проекте используется Maven вы можете просто включить UCanAccess через следующие координаты:
groupId: 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. У Jackcess, в свою очередь, есть свои зависимости . Итак, чтобы использовать UCanAccess, вам необходимо включить следующие компоненты:
UCanAccess (ucanaccess-xxxjar)
HSQLDB (hsqldb.jar, версия 2.2.5 или новее)
Jackcess (jackcess-2.xxjar)
commons-lang (commons-lang-2.6.jar или более новая версия 2.x )
commons-logging ( 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: щелкните проект правой кнопкой мыши в проводнике пакетов и выберите Build Path > Configure Build Path...
. Нажмите кнопку «Добавить внешние JAR…», чтобы добавить каждый из пяти (5) JAR. Когда вы закончите, ваш путь сборки Java должен выглядеть примерно так
NetBeans: разверните представление в виде дерева для вашего проекта, щелкните правой кнопкой мыши папку «Библиотеки» и выберите «Добавить JAR / папку ...», затем перейдите к файлу JAR.
После добавления всех пяти (5) файлов JAR папка «Библиотеки» должна выглядеть примерно так:
IntelliJ IDEA: выберите File > Project Structure...
в главном меню. На панели «Библиотеки» нажмите кнопку «Добавить» ( +
) и добавьте пять (5) файлов JAR. Как только это будет сделано, проект должен выглядеть примерно так:
Это оно!
Теперь "U Can Access" данные в файлах .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));
}
раскрытие
На момент написания этого Q&A я не участвовал в проекте UCanAccess и не был связан с ним; Я просто использовал это. С тех пор я стал участником этого проекта.