スポンサードリンク

Java8でデータベースAccessにUCanAccessで接続するする方法。

Java8でデータベースソフトのAccessに接続するには、JDBCドライバのUCanAccessを使います。

当講座では、これまでJDBC-ODBCブリッジを使用していました。

JDKとJREをインストールする時、
講座の手順と同じバージョンにすれば、そのまま使えます。

しかしJava8だと、以下のようなエラーメッセージが出るはずです。

java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver


これはJava8には該当するクラスが無くなったからです。
(つまりサポートされなくなった)

Java8では、JDBC ODBCブリッジが標準では使えなくなった(削除された)ため、
ODBCを使用した接続が出来ないのが原因。

Java7でも非推奨らしいです。

そこで、UCanAccessを使うわけです。

今回、動作確認を行ったのは、次の環境です。

OS Windows8.1
Java8 64bit版
JDK、JREはそれぞれDドライブの直下にインストール
環境変数のPathもDドライブのJdkに設定
SampleDB030.mdbはDドライブの直下に配置
ODBCデータソースへの登録はもう不要 *


以下のWebサイトから、UCanAccessを入手(ダウンロード)します。
https://osdn.jp/projects/sfnet_ucanaccess/

「最新ダウンロードファイル」のところから、
日付の新しいzipファイルを選択してください。

例 UCanAccess-3.0.3.1-bin.zip

ダウンロードしたzipファイルを展開(解凍)すると、
以下の5つのjarファイルがあります。

ucanaccess-2.0.9.5.jar
libフォルダの中に
commons-lang-2.6.jar
commons-logging-1.1.1.jar
hsqldb.jar
jackcess-2.1.0.jar


これらを先にインストールしておいたjreのextフォルダにコピー&ペーストします。
例 D:\jre\lib\ext

次に当講座の「Step2・データベースに接続」で「sample100」フォルダ内に作成した
「DbConnect.java」の一部を書き換えます。

保存先は、CドライブでもDドライブでもかまいません。

WindowsXPより新しいパソコンでは、
Cドライブの権限が強くなっているので、Dドライブのほうが良いでしょう。

*「\」はWindowsではエンマークのことです。

保存先 D:\java\sample100
ファイル名 DbConnect.java

・旧

import java.sql.*;

class DbConnect {
  public static void main(String args[]) {
    try {
      //JDBCドライバのロード
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      //各設定
      String url = "jdbc:odbc:SampleDB030";
      String user = "";
      String pass = "";

      //データベースに接続
      Connection con = DriverManager.getConnection(url,user,pass);

      System.out.println("接続成功");

      //データベースを切断
      con.close();

    } catch (Exception e) {
      System.out.println("例外発生:" + e );
    }
  }
}


・新

import java.sql.*;

class DbConnect {
  public static void main(String args[]) {
    try {
      //各設定
      String url = "jdbc:ucanaccess://D:/SampleDB030.mdb";
      String user = "";
      String pass = "";

      //データベースに接続
      Connection con = DriverManager.getConnection(url,user,pass);

      System.out.println("接続成功");

      //データベースを切断
      con.close();

    } catch (Exception e) {
      System.out.println("例外発生:" + e );
    }
  }
}


今回、変わったのは、
・ODBCデータソースへの登録が不要になったこと
・JDBCドライバのロードが不要になったこと
・urlの部分は、ucanaccessでファイル名まで指定するようになったこと

あとは「Step2・データベースに接続」の手順で、
コンパイルとJavaプログラムの実行を行い、動作確認してください。

また、以降のステップでは、「DbConnect.java」の中身を、
今回説明したように書き替えてください。

それ以外は、講座の手順通りで動作するはずです。

ps:
JREはJava8をインストールしたもの以外にも、
C:\Program Files (x86)\Java
などにも複数のバージョンがあるはずです。

ここには、Webブラウザで利用される最新版のJREがインストールされるのですが、
ここのextフォルダにUCanAccessを配置すると、
更新される度に再配置が必要なので面倒です。

だからJava8と同時にインストールした公開用のJREのほうに配置しておいた方が、
手間がかからないので便利です。

スポンサードリンク






Java初心者入門講座TOPへ