Question & Answer
Question
Db2 が提供している JDBC ドライバーの種類を教えてください。
Answer
提供されているドライバー
Db2 は以下の 2 種類の JDBC ドライバーを提供していました。(V10.1 以降は JCC ドライバーのみ提供しています)
JCC ドライバーのバージョン
JCC ドライバーにはバージョンが存在し、フィックス・パックごとに異なるバージョンのドライバーが付属しています。
フィックスパックにどのバージョンのドライバーが付属しているかは、以下の文書をご確認ください。
なお、Legacy ドライバーは DB2 クライアントの一部のため、ドライバー固有のバージョンはありません。
現在ご利用いただいている JCC ドライバーのバージョンは、以下のコマンドで確認できます。
コマンドはクラスパスに JCC ドライバーが含まれる環境で実行してください。
Legacy ドライバーのサポート
Legacy ドライバーは Db2 V8.1 以前から提供されている JDBC ドライバーですが、Db2 V9.1 以降では非推奨です。
また、Db2 V10.1 では Legacy ドライバーは廃止されました。
アプリケーションで Legacy ドライバーをご利用のお客様は、JCC ドライバーへの移行をご検討ください。
関連情報
Db2 は以下の 2 種類の JDBC ドライバーを提供していました。(V10.1 以降は JCC ドライバーのみ提供しています)
名称 | IBM Data Server Driver for JDBC and SQLJ (旧称: DB2 Universal JDBC ドライバー) |
DB2 JDBC Type 2 ドライバー |
別称 | JCC ドライバー | Legacy ドライバー |
サーバーへの接続方法 | タイプ 4: pure Java のドライバーによる直接接続 タイプ 2: JNI による Native ライブラリー経由の接続 |
JNI による CLI 経由の接続 |
サポートするタイプ | タイプ 2 およびタイプ 4 | タイプ 2 |
JDBC 仕様 | JDBC 3.0 および JDBC 4.0 以降 | JDBC 1.2 仕様で記述されているほとんどのメソッド、および JDBC 2.0 仕様で記述されている一部のメソッド |
ドライバー・ファイル名 | JDBC 3.0 準拠: db2jcc.jar (V11.1 まで) JDBC 4.0 (またはそれ以降) 準拠: db2jcc4.jar |
db2java.zip |
JDBC サポート用の Java パッケージ | com.ibm.db2.jcc | COM.ibm.db2.jdbc |
ドライバー・クラス名 | com.ibm.db2.jcc.DB2Driver | COM.ibm.db2.jdbc.app.DB2Driver |
JCC ドライバーのバージョン
JCC ドライバーにはバージョンが存在し、フィックス・パックごとに異なるバージョンのドライバーが付属しています。
フィックスパックにどのバージョンのドライバーが付属しているかは、以下の文書をご確認ください。
なお、Legacy ドライバーは DB2 クライアントの一部のため、ドライバー固有のバージョンはありません。
現在ご利用いただいている JCC ドライバーのバージョンは、以下のコマンドで確認できます。
コマンドはクラスパスに JCC ドライバーが含まれる環境で実行してください。
- $ java com.ibm.db2.jcc.DB2Jcc -version
IBM DB2 JDBC Universal Driver Architecture 3.63.75
Legacy ドライバーのサポート
Legacy ドライバーは Db2 V8.1 以前から提供されている JDBC ドライバーですが、Db2 V9.1 以降では非推奨です。
また、Db2 V10.1 では Legacy ドライバーは廃止されました。
アプリケーションで Legacy ドライバーをご利用のお客様は、JCC ドライバーへの移行をご検討ください。
JDBC3 ドライバーのサポート
JDBC3 ドライバー (db2jcc.jar) は V11.1 m1fp1 以降で新機能は追加されず、V11.5 で廃止されています。
JDBC3 ドライバーをご利用の場合、以下のページを参照して JDBC4 ドライバー (db2jcc4.jar) へ移行してください。
- JCC ドライバーと Legacy ドライバーには一部相違点があります。また、JCC ドライバーはバージョンによって一部機能の変更などがあります。
ご利用のバージョンのマニュアルをご確認ください。
現行の IBM Data Server Driver for JDBC and SQLJ と以前の DB2 JDBC ドライバーとの JDBC の相違点 <V9.7>
IBM Data Server Driver for JDBC and SQLJ のバージョン間での JDBC の相違点 <V9.7>
IBM Data Server Driver for JDBC and SQLJ のバージョン間での JDBC の相違点 <V10.1>
IBM Data Server Driver for JDBC and SQLJ のバージョン間での JDBC の相違点 <V10.5>
IBM Data Server Driver for JDBC and SQLJ のバージョン間での JDBC の相違点 <V11.1> - Db2 9.1 までの JCC ドライバーは Db2 サーバーへ接続するためのライセンス・ファイル (db2jcc_license_cu.jar) が必要でしたが、これは Db2 9.5 で廃止されています。ただし後方互換の目的でファイルは存在します。
- JCC ドライバーを使用して Db2 for IBM i や Db2 for IBM z に接続するには、ライセンス・ファイル db2jcc_license_cisuz.jar を CLASSPATH に含めるか、接続先でライセンス・プロシージャーを有効にする必要があります。
ライセンス・ファイルとライセンス・プロシージャー登録ユーティリティは Db2 Connect アクティベーション・キットに含まれます。 - Legacy ドライバーでは、アプリケーション内で接続などのリソースを正しくクローズしていない場合、アプリケーション終了時に出口リスト・ハンドラーと Java の Finalizer によるリソースの解放処理が競合し、SIGSEGV により異常終了することがあります。
以下の文書を参照し、対応策を実施してください。
[Db2] Java アプリケーション終了時に SIGSEGV で異常終了することがある - V10.1 以降、Legacy ドライバーは使用できません。
ただし、Java ルーチンが利用するクラスがあるため、db2java.zip は製品に含まれています。
このため、db2java.zip を手動で除去すると、Java ルーチンで予期しないエラーが発生します。
DB2 V11.1 Java stored procedures may receive NoClassDefFoundError for PowerClassLoader
関連情報
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"OTHER - Uncategorised","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.7;9.5;10.1;10.5;11.1;11.5","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Was this topic helpful?
Document Information
Modified date:
11 April 2024
UID
swg21601089