[DBFLUTE-199] Document bug - please use db2jcc.jar instead of db2java.zip Created: 2008-01-27  Updated: 2008-01-31  Resolved: 2008-01-29

Status: Closed
Project: DBFlute
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Trivial
Reporter: Akira Shimosako Assignee: jflute
Resolution: Fixed Votes: 0
Labels: None
Environment:

DB2 v8 or higher, Unix/Windows



 Description   

http://dbflute.sandbox.seasar.org/contents/dbvendor/db2.html

上記ドキュメントの記述で、「db2java.zipを使う」とありますが、これは「db2jcc.jarとdb2jcc_license_cu.jarを使う」に変更された方が良いのではと思います。

(以下、理由です)
ドキュメントにはドライバクラスの例としてdriver = com.ibm.db2.jcc.DB2Driverと記述がありますが、このクラスはdb2java.zipには含まれていません。db2java.zipを使う場合のドライバクラスは、 COM.ibm.db2.jdbc.app.DB2Driverになります。

ただしdb2java.zipは現在では使用を推奨されていません。
今はdb2jcc.jarに含まれる新しいJDBCドライバの使用の使用が推奨されます。
その場合のドライバクラスはcom.ibm.db2.jcc.DB2Driverになります。

また、db2jcc.jarを使う場合で、かつDB2 v8.1.2以降を使用する場合は db2jcc_license_cu.jarファイルもCLASSPATHに含める必要があります。

つまり、

db2java.zip -> COM.ibm.db2.jdbc.app.DB2Driver
db2jcc.jar(+db2jc_license_cu.jar) -> com.ibm.db2.jcc.DB2Driver

という対応になっています。

(ご参考までに:V8でのJDBCドライバの変更点については以下にまとまっています)
http://www-06.ibm.com/jp/software/data/developer/library/techdoc/java.html

また、DB2 9.5以降ではJDBC 4.0に対応した新しいJDBCドライバとして、db2jcc4.jarが追加されています。JDBC 4.0の新機能を使用するには、db2jcc.jarに変えてdb2jcc4.jarを使用する必要があります。



 Comments   
Comment by jflute [ 2008-01-29 ]

ドキュメントは修正し、次バージョンにdb2jcc.jarを同梱することにします。
ありがとうございました。

Comment by jflute [ 2008-01-27 ]

おお、動作確認ありがとうございます。
(DB2の環境が無いもので...)

> db2_db2driver_for_jdbc_sqlj.zipは再配布可能です
おお!そうなのですね!?ちょっと自分の方でも確認してみます。
db2jcc.jarは次バージョンで含めます。

なので、ドキュメントでは:

「db2jcc_license_cu.jarが必要なバージョンにおいては
各自配置...(最近のバージョンでは不要なようです)」

というようなニュアンスで書こうかと思います。
(db2jcc_license_cu.jarを手に入れる手段が不明ではありますが...)

Comment by Akira Shimosako [ 2008-01-27 ]

> しかし、db2jcc_license_cu.jarがいないですね...
本当ですね。db2jcc.jarとdb2jcc4.jarしか含まれていませんね。

こちらで、小さなJDBC接続のプログラムを作って確認したのですがdb2_db2driver_for_jdbc_sqlj.zipに含まれるdb2jcc.jarかdb2jcc4.jarだけをCLASSPATHに含めるだけでDB2 9.5/LinuxにType2/4接続できました。
ですので、どうも現在のJDBCドライバはdb2jcc_license_cu.jarが不要になっているようです。

ただ、DB2 8.2や9.1の時はdb2jcc_license_cu.jarが無いと動かなかったはずですので、ドキュメント上は
「db2jcc.jarとdb2jcc_license_cu.jarをmydbflute/dbflute-0.x.x/lib/forExecute配下に配置してください。(ただし最近のバージョンではdb2jcc_license_cu.jarが不要になっているようです)」というような形で書いていただくのはいかがでしょうか?

もしくは次バージョンからDBFluteの配布物にdb2jcc.jarの方を含めていただくのはどうでしょうか。(db2_db2driver_for_jdbc_sqlj.zipは再配布可能です)

Comment by jflute [ 2008-01-27 ]

ありがとうございます。
ダウンロードできました。

しかし、db2jcc_license_cu.jarがいないですね...
(db2jcc.jarだけいた)

Comment by Akira Shimosako [ 2008-01-27 ]

早速対応していただいて、ありがとうございます。
サイトのInternal errorですが、今試したところ直っているようで、ダウンロードできました。

最新のJDBCドライバだけをダウンロードされるのでしたら
http://www-306.ibm.com/software/data/db2/express/download.html
から「IBM Data Server Driver for JDBC and SQLJ」を選択してください。db2_db2driver_for_jdbc_sqlj.zipがダウンロードできると思います。

Comment by jflute [ 2008-01-27 ]

https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&source=swg-idsjs11
が、Internal Server Errorで落ちる...もう少しあとで確認します。

取り急ぎとしては、db2jcc.jarとdb2jcc_license_cu.jarを組み込んで、
ドキュメントを修正するようにします。

その後のことは、https://www.seasar.org/issues/browse/DBFLUTE-192
と関連するので検討します。

Comment by jflute [ 2008-01-27 ]

情報提供ならびにバグ報告ありがとうございます。
確認取れ次第修正いたします。

(db2jcc.jarとdb2jcc_license_cu.jarは今含まれてないので確かにおかしいですね...)

Generated at Mon Dec 15 11:22:16 JST 2025 using Jira 10.6.1#10060001-sha1:a6461e220f274b29ced7ac9295492f2465fe5ef5.