ちょっとしたデータベースのサンプルアプリケーションを作ろうと思ったら、Java 8 には JDBC-ODBC Bridge が含まれていなくてちょっとおkまってしまったのでメモ。調べてみるとちゃんと Oracle のブログのエントリにも取り上げられていましたね。
JDBC-ODBC ブリッジはJava の黎明期からデータベースアプリの入門ではおなじみだったので、JDBC の入門時にお世話になった人も多いと思いますが、実用的にはまったく推奨されていなかったので、Java 7 の時に Java 8 では削除されると予告*1されていたのでした。
問題なのは MS-Access のようなお手軽 DB に Java から接続したい場合に使えるフリーな代替案が少ないことです。JDBC の Access ドライバは探せばいくつか出てきますが、どれも商用製品ですぐに試すには不適なものばかりです。いろいろ調べてみましたが、UCanAccess がフリーなので、これをを使っている人が多いようです。collation などの部分で固有の制限もあるので、実際に使う場合には十分テストを行う必要があります。
This is the home page of UCanAccess, an open source Java JDBC Driver implementation which allows Java developers and jdbc client programs (e.g., DBeaver, NetBeans, SQLeo, Open Office Base, Libre Office Base, Squirrell) to read/write Microsoft Access database.
ちょっとワケあってSquirrelSQL*1を使ってODBC経由でクエリを叩いていたんですが、日付フィールドを含んだSQLを入力すると怒られるという現象にちょっとはまってしまいました。
最近型の変換が比較的臨機応変なMySQLしか使っていないのがバレバレですね。最初はOracleのようにto_date()みたいな関数を使わなきゃいけないんだとばかり思って、一生懸命関数のリファレンスを調べてみたんですが日付型に変換できそうな関数はありませんでした。
[ODBC 日付時刻形式ではまる の続きを読む]その昔、「MS Accessでクエリの一括実行」というエントリを書いたことがありました。でも、これは僕はVBが全く使えなかったためなんですが、そんな僕のエントリを見て、VBAを作ってくださった方がいました。
[MS Accessでクエリの一括実行 その2 の続きを読む]久しぶりに品川某所のクライアントに出かけてきました。いつの間にかISIDのビルができていたりと、品川駅周辺は相変わらず建設ラッシュですね。
† 本日のミッション
さて、本日のミッションは、Excelのシートとして保存されているデータをMS AccessでできたDBにマージすることだったのですが、思わぬ大苦戦を強いられる結果に。
[MS Accessでクエリの一括実行 の続きを読む]