ともさんのHP >プロブラミング >自作JavaLibrary >UcanAccess導入覚書

UcanAccessの使いかた覚書

Javaを使ってMicrosoft Accessデータベースに接続て作業するプログラムをたくさん持っています。
写真を登録したり、ホームページの文章を登録しておいて、htmlファイルを生成したり... 毎朝その日の予定をメールでスマホに送ったり...その他いろいろ。
なので私にとって Java 楽天 とAccessのコンビはなくてはならない物になっています。

広告

JDBC-ODBCブリッジでJavaとAccessを接続していましたが、Java8をインストールしたところ、突然使えなくなってしまいました。
JDBC-ODBCブリッジ、Java8ではサポートされていないのですね。動かなくなって初めて気づきました。
今回時間が出来たので、UCanAccessを使って接続をしてみることにしました。UCanAccessはODBCを使用せずに接続できる、純粋なJavaのJDBCドライバだそうです。

UCanAccessのダウンロード、インストール

まずはPCにインストールします。
こちらからダウンロードしました。
解凍すると下記5つのjarファイルが出来るので、
 ucanaccess-2.0.9.5.jar
 commons-lang-2.6.jar
 commons-logging-1.1.1.jar
 hsqldb.jar
 jackcess-2.1.0.jar
Javaのextフォルダ下にコピペしました。私の場合、いろいろなjarファイルをext内に放り込んでしまっているので、何がなんだか訳が分からなくなってます。

とりあえず接続してみる

D:work\dbs\にtest.assdbというAccessデータベースを作り、その中にtestというテーブルを作り、その中にsiken1というフィールドを作って下記コード実行。
普通に動いてくれました。
なんだか簡単で拍子抜けしました。
UCanAccess使用コード

import java.sql.*;

public class Commtest {

public static void main(String[] args) {
try{
Connection conn=DriverManager.getConnection("jdbc:ucanaccess://d:/work/dbs/test.accdb");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT [siken1] FROM [test]");
while (rs.next()) {
System.out.println(String.format("%s", rs.getString(1)));
}
}catch( SQLException e ){System.out.println("err");}
}

}

クエリーをSQL文内に入れてはいけない

JDBC-ODBCブリッジではクエリーを普通のtableのようにSelect文の中に入れていましたが、これはUCanAccessではダメ。
といっても簡単なクエリーは読んでくれます。複雑なのはエラーが出てしまう。
解決策としては、クエリーをSQL文化して読み込ませればOK。
クエリをデザインビューで表示させ、表示ウインドウの中で右クリックすると「SQLビュー」が選択できる。
選ぶとSQL文が表示される。これをコピペしたうえで「!」を「.」に差し替える。
ただし、クエリーからクエリーを読み込んでいるとSQLビューで表示されるSQL文中にクエリーが入ってしまうのでアウト。

データ形式によるエラー

これもJDBC-ODBCブリッジでは普通に読み込めたのに、UCanAccessではエラーがおきる。
詳細は現在調査中。
そんなわけでUCanAccess乗り換えはなかなか進んでいない。

最終更新日: 2015-05-25 20:49:38

ともさんのHP >プロブラミング >自作JavaLibrary >UcanAccess導入覚書

このエントリーをはてなブックマークに追加
広告
おすすめ記事
新着ページ

アロハシャツ(開襟シャツ)の型紙  
アロハシャツの作りかた  
ヌートリア  
蜂舎の屋根張り  
机上棚とプリンタ棚の自作  
アメリカンホック  
炊飯器棚の作り方  
普通のシャツをスタンドカラーにリメイク  
植物タイムラプス撮影  
ツツジの栽培  
養蜂用燻煙器の使い方  

私の他のサイト

ともさんの箱庭(ブログ)
家庭菜園
3D-CAD
洋裁CAD

いいねなど

 RSS 
PageSpeedInsights
html5チェック

Author: Tomoyuki Ito

このサイトの文章・写真の無断転載を禁じます