当講座では、これまで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のほうに配置しておいた方が、
手間がかからないので便利です。