Oracle接続するプログラムの単体テストにDB2を使用する

DBにアクセスするプログラムの単体テストにJUNITを使用する場合、ケースごとにデータを入れたり消したりする必要があるため、自分で自由に使用できるDBが欲しくなります。 mysqlとかの無料DBであれば、ローカルにインストールすれば済むことなのですが、お高くお高尚なOracleの場合、自分用にOracleのインスタンスを準備するのはなかなか厳しい場合があります。

なので、JDBC経由でアクセスする場合は、H2datebaseやSQLiteで代替したりするのですが・・・これらのDBはSQLがOracle互換が無いため、プログラム内でちょっと複雑なSQLを発行していたりすると、使用できないことがあります。 こんな時ワタシは、DB2 Express-Cを使用します。

DB2 Express-Cは無料で、Oracle互換モードがあります。Oracle接続の単体テストにピッタリ。

セッティング方法は・・・

1. IBMのサイトからダウンロードしてインストール

2.下記コマンドを実行し、ORACLE互換モードに設定

db2cmd db2set DB2_COMPATIBILITY_VECTOR=ORA

3. サーバーを再起動

db2stop force
db2start

4.DB作成〜必要なテーブル生成

db2cmd db2 create database ...
...(テーブル作成) ...

5.JDBC設定〜テスト

6.ウホッ

© 2009-2017 Osajiru All Rights Reserved.