UCanAccessは、ODBCを使用せずにAccessデータベースの読み取りと書き込みを可能にする純粋なJava JDBCドライバーです。他の2つのパッケージ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をすべてプロジェクトに追加するだけです。
注:他の5つのJARファイルを追加する場合は、ビルドパスに追加しないでくださいloader/ucanload.jar
。UcanloadDriver
クラスは、特殊な状況でのみ使用し、異なる設定が必要です。詳細については、関連する回答をここで参照してください。
Eclipse:パッケージエクスプローラーでプロジェクトを右クリックし、を選択しますBuild Path > Configure Build Path...
。[外部JARを追加...]ボタンをクリックして、5つのJARをそれぞれ追加します。完了すると、Javaビルドパスは次のようになります。
NetBeans:プロジェクトのツリービューを展開し、[ライブラリ]フォルダを右クリックして[JAR /フォルダを追加...]を選択し、JARファイルを参照します。
5つすべてのJARファイルを追加すると、「ライブラリ」フォルダは次のようになります。
IntelliJ IDEA:File > Project Structure...
メインメニューから選択します。[ライブラリ]ペインで[追加](+
)ボタンをクリックし、5つのJARファイルを追加します。完了すると、プロジェクトは次のようになります。
それでおしまい!
このようなコードを使用して、.accdbファイルと.mdbファイルのデータに "U Can Access"できるようになりました
// 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プロジェクトに関与したり、提携したりすることはありませんでした。使ったばかりです。それ以来、私はプロジェクトの貢献者になりました。