JDBC 驱动程序需求根据数据库管理系统而变化,取决于是用于 EGL 调试时还是运行时:
- DB2® UDB
DB2
通用驱动程序与 EGL 兼容,但相关的应用程序驱动程序不兼容;具体地说,应用程序驱动程序不能处理包括
forUpdate 选项的 EGL open 或 get 语句。
IBM® 建议您完全不要使用 Net 驱动程序。
如果在 WebSphere® Application
Server V6.x 中运行 J2EE 应用程序,则需要 DB2 V8.1.6 或更高版本。如果要在
WebSphere V5.x
测试环境中运行这些应用程序,则需要 DB2 V8.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) 的第二个自变量
- 作为 java.sql.Connection.prepareStatement(String,int,int) 和 java.sql.Connection.prepareCall(String,int,int) 的第三个自变量
- 如果希望在 EGL open 语句中支持 hold 选项,驱动程序必须支持
JDBC 3.0,并且下列上下文中必须支持值 java.sql.ResultSet.HOLD_CURSORS_OVER_COMMIT:
- 作为 java.sql.Connection.createStatement(int,int,int) 的第三个自变量
- 作为 java.sql.Connection.prepareStatement(String,int,int,int) 和 java.sql.Connection.prepareCall(String,int,int,int) 的第四个自变形量
对于任何数据库管理系统,第三方或第四方供应商提供的 JDBC 驱动程序是可以接受的。