下表汇总了第三方 JDBC 驱动程序的功能:
Table 6-3 第三方 JDBC 驱动程序的功能
* 适用于 JDBC 3 (Java 1.4) 及更高版本。
下表列出了支持的第三方 JDBC 驱动程序的 URL 语法:
Table 6-4 URL 语法
这些信息需要结合 Authentication Context 参数使用。 有关该参数的信息,请参见鉴定环境。
下表列出了支持的第三方 JDBC 驱动程序的完全限定 Java 类名:
Table 6-5 第三方 JDBC 驱动程序的类名
这些信息需要结合 JDBC Driver Class Name 参数使用。 有关该参数的信息,请参见Third-Party JDBC Driver Class Name。
Table 6-6 BEA Weblogic jDriver
NOTE:在支持的第三方驱动程序列表中包含了 BEA Weblogic 驱动程序,以提供对 Microsoft SQL Server 7 的 JDBC 访问权限。Microsoft 的驱动程序只支持版本 8 (2000)。
BEA Weblogic 驱动程序可以向后兼容。 不需要经常更新数据库服务器和驱动程序。
BEA Weblogic 驱动程序不支持加密传输。
BEA Weblogic 驱动程序的早期版本为本机 UNIQUEIDENTIFIER 列返回非标准的 java.sql.Types 值。 为进行补偿,Driver for JDBC 将该非标准类型映射到标准类型 java.sql.Types.BINARY,因为该标准类型能够最合理地镜像本机数据库类型(16 个字节的值)。 该映射导致生成一个 Base64 编码的关联值。
BEA Weblogic 驱动程序的较高版本可返回标准类型 java.sql.CHAR。 该映射将导致生成一个非 Base64 编码的关联值,并有效地使通过 BEA Weblogic 驱动程序早期版本生成的所有关联失效。 这种更改实际上会破坏向后兼容性。
此问题的最佳解决方案是继续使用 BEA Weblogic 驱动程序的早期版本。 如果必须升级,则必须去除所有失效的关联,然后重新关联所有以前关联的对象。
IBM DB2 驱动程序可以是类型 3 或类型 4。
Table 6-7 IBM DB2 驱动程序: 类型 3
|
支持的数据库版本: |
7.x |
|
类名: |
COM.ibm.db2.jdbc.net.DB2Driver |
|
类型 |
3 |
|
URL 语法: |
jdbc:db2://ip-address:6789/database-name |
|
下载指导: |
从数据库服务器复制文件。 file:///database-installation-directory/java |
|
文件名: |
db2java.zip |
|
文档 URL: |
IMPORTANT:驱动程序类型 3 对于版本 8 已过时。
IBM DB2 驱动程序最鲜明的特征是对版本特别敏感。 DB2 的主版本和次版本(包括 FixPack)各不兼容。 因此,建议使用在数据库服务器上安装的文件。
IMPORTANT:每次更新目标数据库后,都应该更新 Identity Manager 或远程装载程序服务器上的 IBM DB2 驱动程序,即使只是在 FixPack 级别进行更新。
IBM DB2 驱动程序不支持加密传输。
IBM DB2 驱动程序最常见问题的原因就是驱动程序的数据库版本不匹配。 版本不匹配表现为连接性相关的失败,例如《CLI0601E 无效的语句句柄,或语句已关闭。》 要修正此问题,请使用数据库服务器上安装的版本重写 Identity Manager 或远程装载程序服务器上的 db2java.zip 文件。
如果尝试安装和执行以 Java 编写的、用户定义的储存过程和函数,则可能会出现大量的错误条件和错误代码。 诊断这些错误时就会发现这是件费时和费神的事。 日志文件(数据库服务器上的 db2diag.log)往往可以提供其它调试信息。 此外,系统将记录所有错误代码,并在线提供这些代码。
Table 6-8 IBM DB2 驱动程序: 类型 4
NOTE:与驱动程序类型 3 不同,驱动程序类型 4 只有最少量的一组已定义错误代码。 这种不足制约了 Driver for JDBC 判别连接性、重试、鉴定和致命错误条件的能力。
IBM DB2 驱动程序可以向后兼容。 但是,它不能配合数据库版本 7。数据库服务器经常需要更新。 不需要经常更新驱动程序。
IBM DB2 驱动程序支持各种鉴定安全机制,但不支持加密传输。
如果尝试安装和执行以 Java 编写的、用户定义的储存过程和函数,则可能会出现大量的错误条件和错误代码。 诊断这些错误时就会发现这是件费时和费神的事。 日志文件(数据库服务器上的 db2diag.log)往往可以提供其它调试信息。 此外,系统将记录所有错误代码,并在线提供这些代码。
Table 6-9 Informix JDBC 驱动程序
|
支持的数据库版本 |
Dynamic Server 7.x、9.x |
|
类名 |
com.informix.jdbc.IfxDriver |
|
类型 |
4 |
|
URL 语法 |
jdbc:informix-sqli://ip-address:1526/database-name:informixserver=server-id |
|
下载指导 |
|
|
文件名 |
ifxjdbc.jar、ifxjdbcx.jar(可选) |
|
文档 URL |
Informix 驱动程序可以向后兼容。 不需要经常更新数据库服务器和驱动程序。
Informix 驱动程序不支持加密传输。
要使 Driver for JDBC 与 ANSI 兼容数据库的 Informix 驱动程序进行互操作,必须显式设置下表列出的驱动程序参数。
Table 6-10 ANSI 兼容数据库的驱动程序设置
|
显示名称 |
标签名称 |
值 |
|---|---|---|
|
是否支持元数据检索中的纲要? |
supports-schemas-in-metadata-retrieval |
false |
|
强制用户名大小写: |
force-username-case |
upper |
下表列出 Driver for JDBC 在运行时隐式设置的驱动程序兼容性参数。 不要覆盖这些设置。
Table 6-12 Microsoft SQL Server 2000 驱动程序设置
SQL Server 2000 驱动程序可以向后兼容。 但是,它不能配合数据库版本 7。不需要经常更新数据库服务器和驱动程序。
SQL Server 2000 驱动程序不支持加密传输。
使用分号 (;) 分隔 URL 属性。
下表列出了 SQL Server 2000 驱动程序的 SelectMethod URL 属性值。
下表列出 Driver for JDBC 在运行时隐式设置的驱动程序兼容性参数。 不要显式覆盖这些设置。
一个不允许同一连接上存在活动并行语句的实现异常导致 SQL Server 2000 驱动程序遇到最常见的问题。 与其它第三方实现不同,SQL Server 2000 驱动程序的给定连接上,一次只能有一个活动的 java.sql.Statement 对象。
如果尝试使用多个语句对象,则会发生以下错误: 《存在复制的连接,无法启动手动事务方式。》 仅当驱动程序兼容性参数Reuse Statements?设置为布尔值 True 时,才发生此错误。 最佳做法是永远不要显式设置该参数, 而是照用动态默认值。
一种替代做法是将定界属性 ;SelectMethod=cursor 放置在 URL 字符串的末尾。 有关此问题的更多信息,请查阅下列支持文章:
SQL Server 2000 驱动程序的早期版本为本机 UNIQUEIDENTIFIER 列返回非标准的 java.sql.Types 值。 为进行补偿,Driver for JDBC 将该非标准类型映射到了标准类型 java.sql.Types.BINARY,因为该标准类型能够最合理地镜像本机数据库类型(一个 16 位值)。 该映射导致生成一个 Base64 编码的关联值。
SQL Server 2000 驱动程序的较高版本可返回标准类型 java.sql.CHAR。 该映射将导致生成一个非 Base64 编码的关联值,并有效地使通过 SQL Server 2000 驱动程序早期版本生成的所有关联失效。 这种更改实际上会破坏向后兼容性。
此问题的最佳解决方案是继续使用 SQL Server 2000 驱动程序的早期版本。 如果必须升级,请去除所有失效的关联,然后重新关联所有以前关联的对象。
Table 6-15 MySQL Connector/J JDBC 驱动程序的设置
另请参见Generation/Retrieval Method (Table-Global)。
Connector/J 驱动程序可以向后兼容。 经常需要更新数据库服务器。 不需要经常更新驱动程序。
Connector/J 驱动程序支持 JSSE(Java 安全套接字扩展)SSL 加密传输。
要使 Driver for JDBC 与 MyISAM 表的 Connector/J 驱动程序进行互操作,必须设置下表列出的驱动程序参数。
Table 6-17 Oracle 瘦客户机设置
瘦客户机驱动程序可以向后兼容。 不需要经常更新数据库服务器和驱动程序。
Oracle 为不同的 JVM 发行瘦客户机驱动程序。 即使所有这些驱动程序都可以配合本产品,但建议您使用版本 1.4。
瘦客户机驱动程序支持 Oracle 高级安全性加密传输。
下表列出 Driver for JDBC 在运行时隐式设置的驱动程序兼容性参数。 不要显式覆盖这些设置。
下表列出了该驱动程序重要的连接属性。
Table 6-19 Oracle 瘦客户机: 连接属性
该驱动程序遇到的最常见问题是 CPU 利用率较高。 因此,该驱动程序始终指示调用方法 java.sql.Statement.execute(String stmt) 后,有更多可用的结果,从而可能导致无限循环的情况。 仅当发生以下状况同时发生时,才发生这种情况:
要避免发生 CPU 高利用率的情况:
NOTE:jdbc 名称空间前缀必须映射到 urn:dirxml:jdbc。
必须将连接属性 includeSynonyms 设置为 true。
此问题的唯一已知解决方案是使用视图。
Table 6-20 PostgreSQL JDBC 驱动程序设置
|
支持的数据库版本 |
6.x、7.x、8.x |
|
类名 |
org.postgresql.Driver |
|
类型 |
4 |
|
URL 语法 |
jdbc:postgresql://ip-address:5432/database-name |
|
下载指导 |
|
|
文档 URL |
NOTE:PostgreSQL 的文件名随数据库版本的不同而异。
PostgreSQL 驱动程序的最新内部版本可以与服务器版本 7.2 及更高版本向后兼容。 需要经常更新数据库服务器和驱动程序。
PostgreSQL 驱动程序支持 JDBC 3 驱动程序版本的 SSL 加密传输。
Table 6-21 Sybase Adaptive Server Enterprise 驱动程序的设置
Adaptive Server 驱动程序可以向后兼容。 不需要经常更新数据库服务器和驱动程序。
Adaptive Server 驱动程序支持 SSL 加密传输。 要启用 SSL 加密,必须通过 SYBSOCKET_FACTORY 连接属性指定自定义的套接字实现。 有关如何设置连接属性的更多信息,请参见Connection Properties。
可以使用 SYBSOCKET_FACTORY 属性指定支持加密传输的自定义套接字实现的类名。