JDBC ドライバーの要件は、EGL のデバッグ時であろうと実行時であろうと、以下のように、データベース管理システムによって異なります。
- DB2® UDB
DB2 Universal ドライバーは EGL と互換性がありますが、関連するアプリケーション・ドライバーには互換性がありません。特に、アプリケーション・ドライバーは、forUpdate オプションを含んでいる EGL の open または get 文を処理できません。
IBM® では、Net ドライバーをまったく使用しないことを推奨しています。
J2EE アプリケーションを WebSphere® Application Server v6.x で実行している場合は、DB2 バージョン 8.1.6 以上が必要です。
それらのアプリケーションを WebSphere v5.x テスト環境で実行している場合は、DB2 バージョン 8.1.3 以上が必要です。
- Informix®
- 受け入れ可能な Informix JDBC ドライバーは 2.21.JC6 以上です。
このドライバー・レベルは、JDBC 3.0 に準拠していないため、EGL open 文では HOLD オプションをサポートしません。
現在、Informix JDBC
3.0 準拠のドライバーが使用可能になっているので、HOLD オプションをサポートします。
- Oracle
- Oracle 10i に付属の JDBC ドライバーは、受け入れ可能です。
EGL と共に使用される任意の JDBC ドライバーには、以下の規則が適用されます。
- ドライバーは JDBC 2.0 以上をサポートする必要があります。
- 以下のコンテキストで、値 java.sql.ResultSet.CONCUR_UPDATABLE が許可される必要があります。
- java.sql.Connection.createStatement(int,int) への第 2 引き数としてのコンテキスト
- java.sql.Connection.prepareStatement(String,int,int) および java.sql.Connection.prepareCall(String,int,int) への第 3 引き数としてのコンテキスト
- EGL の open ステートメントで hold オプションをサポートしたい場合、ドライバーは JDBC 3.0 をサポートしている必要があり、以下のコンテキストで値 java.sql.ResultSet.HOLD_CURSORS_OVER_COMMIT が許可される必要があります。
- java.sql.Connection.createStatement(int,int,int) への第 3 引き数としてのコンテキスト
- java.sql.Connection.prepareStatement(String,int,int,int) および java.sql.Connection.prepareCall(String,int,int,int) への第 4 引き数としてのコンテキスト
どのデータベース管理システムの場合でも、サード・パーティーまたはフォース・パーティー・ベンダー製の JDBC ドライバーが受け入れ可能です。