The following table summarizes third-party JDBC driver features:
* For versions JDBC 3 (Java 1.4) and later.
The following table lists URL syntaxes for supported third-party JDBC drivers:
The following table lists the fully-qualified Java class names of supported third-party JDBC drivers:
NOTE: The BEA Weblogic is included in the supported third-party driver listing to provide JDBC access to Microsoft SQL server 7. Microsoft's driver supports only version 8 (2000).
The BEA Weblogic driver is backward compatible. Database server and driver updates are infrequent.
The BEA Weblogic driver does not support encrypted transport.
Earlier versions of the BEA Weblogic driver returned a non-standard java.sql.Types value for native UNIQUEIDENTIFIER columns. To compensate, the Driver for JDBC mapped that non-standard type to the standard type java.sql.Types.BINARY because it best mirrored the native database type -- a 16 byte value. This mapping results in a Base64-encoded association value.
Later versions of the BEA Weblogic driver return a standard type java.sql.CHAR. This mapping results in a non-Base64-encoded association value, effectively invalidating all associations generated by using earlier versions of the BEA Weblogic driver. This change effectively breaks backward compatibility.
The best solution to this problem is to continue using the earlier version of the BEA Weblogic driver. If you must upgrade, you'll have to remove all invalidated associations and reassociate all previously-associated objects.
IMPORTANT: The type 3 driver is deprecated for version 8.
The IBM DB2 driver can best be characterized as version-hypersensitive. It is not compatible across major or minor versions of DB2, including FixPacks. For this reason, we recommend that you use the file installed on the database server.
IMPORTANT: The IBM DB2 driver must be updated on the Identity Manager or Remote Loader server every time the target database is updated, even if only at the FixPack level.
The IBM DB2 driver does not support encrypted transport.
The most common problem experienced with the IBM DB2 driver is because of a driver/database version mismatch. The symptom of a version mismatch is connectivity-related failures such as "CLI0601E Invalid statement handle or statement is closed." To remedy the problem, overwrite the db2java.zip file on the Identity Manager or Remote Loader server with the version installed on the database server.
Numerous error conditions and error-codes can arise when you attempt to install and execute user-defined stored procedures and functions written in Java. Diagnosing them can prove time intensive and frustrating. A log file (db2diag.log on the database server) can often provide additional debugging information. In addition, all error codes are documented and available online.
NOTE: Unlike the type 3 driver, the type 4 driver has only a minimal set of defined error codes. This absence inhibits the Driver for JDBC's ability to distinguish between connectivity, retry, authentication, and fatal error conditions.
The IBM DB2 driver is backward compatible, although it doesn't work with database version 7. Database server updates are frequent. Driver updates are infrequent.
The IBM DB2 driver supports a variety of authentication security mechanisms but does not support encrypted transport.
Numerous error conditions and error codes can arise when you attempt to install and execute user-defined stored procedures and functions written in Java. Diagnosing these can prove time intensive and frustrating. A log file (db2diag.log on the database server) can often provide additional debugging information. In addition, all error codes are documented and available online.
The Informix driver is backward compatible. Database server updates and driver updates are infrequent.
The Informix driver does not support encrypted transport.
The following table lists driver parameters that must be explicitly set for the Driver for JDBC to interoperate with the Informix driver against ANSI-compliant databases.
| Display Name | Tag Name | Value |
|---|---|---|
Supports schemas in metadata retrieval? |
supports-schemas-in-metadata-retrieval |
false |
Force username case: |
force-username-case |
upper |
The following table lists driver compatibility parameters that the Driver for JDBC implicitly sets at runtime. Do not explicitly override these settings.
| Display Name | Tag Name | Value |
|---|---|---|
Function return method: |
function-return-method |
result set |
The SQL Server 2000 driver is backward compatible, although it doesn't work with database version 7. Database server and driver updates are infrequent.
The SQL Server 2000 driver does not support encrypted transport.
Delimit URL properties by using a ';' character.
The following table lists values for the SelectMethod URL property for the SQL Server 2000 driver.
| Legal Value | Description |
|---|---|
direct |
The default value; doesn't allow for multiple active statements on a single connection |
cursor |
Allows for multiple active statements on a single connection |
The following table lists driver compatibility parameters that the Driver for JDBC implicitly sets at runtime. Do not explicitly override these settings.
| Display Name | Tag Name | Value |
|---|---|---|
Reuse Statements? |
reuse-statements |
false |
An implementation anomaly that doesn't allow concurrent statements to be active on the same connection causes the most common problem experienced with the SQL Server 2000 driver. Unlike other third-party implementations, the SQL Server 2000 driver can have only one java.sql.Statement object active at a time on a given connection.
If you attempt to use more than one statement object, the following error is issued: "Can't start manual transaction mode because there are cloned connections." This error can occur only if driver compatibility parameter Reuse Statements? is set to Boolean True. As a best practice, never explicitly set this parameter. Instead, defer to the dynamic default value.
An alternative is to place the delimited property ;SelectMethod=cursor at the end of the URL string. For additional information on this issue, consult the following support articles:
Earlier versions of the SQL Server 2000 driver returned a non-standard java.sql.Types value for native UNIQUEIDENTIFIER columns. To compensate, the Driver for JDBC mapped that non-standard type to the standard type java.sql.Types.BINARY because it best mirrored the native database type -- a 16 byte value. This mapping results in a Base64-encoded association value.
Later versions of the SQL Server 2000 driver return a standard type java.sql.CHAR. This mapping results in a non-Base64-encoded association value, effectively invalidating all associations generated by using earlier versions of the SQL Server 2000 driver. This change effectively breaks backward compatibility.
The best solution to this problem is to continue using the earlier version of the SQL Server 2000 driver. If you must upgrade, you'll have to remove all invalidated associations and reassociate all previously-associated objects.
The Connector/J driver is backward compatible. Database server updates are frequent. Driver updates are infrequent.
The Connector/J driver supports JSSE (Java Secure Sockets Extension) SSL-encrypted transport.
The following table lists driver parameters that you must set so that the Driver for JDBC can interoperate with the Connector/J driver against MyISAM tables.
| Display Name | Tag Name | Value |
|---|---|---|
Use manual transactions? |
use-manual-transactions |
false |
The Thin Client driver is backward compatible. Database server updates and driver updates are infrequent.
Oracle releases thin client drivers for various JVMs. Even though all of them work with this product, we recommend you use the 1.4 version.
The Thin Client driver supports Oracle Advanced Security encrypted transport.
The following table lists driver compatibility parameters that the Driver for JDBC implicitly sets at runtime. Do not explicitly override these settings.
| Display Name | Tag Name | Value |
|---|---|---|
Number of returned result sets: |
handle-stmt-results |
single |
The most common problem experienced with this driver is high CPU utilitization, because of this driver always indicates that more results are available from calls to method java.sql.Statement.execute(String stmt) which can lead to an infinite loop condition. This condition occurs only if driver compatibility parameter Number of Returned Result Sets other than single, no or one and an embedded SQL statement is being executed and the type of statement is not explicitly specified.
To avoid the conditions that produce high CPU utilization:
Defer to the dynamic default.
NOTE: The jdbc namespace prefix maps to urn:dirxml:jdbc.
Supported Database Versions |
6.x, 7.x, 8.x |
Class Name |
org.postgresql.Driver |
Type |
4 |
URL Syntax |
jdbc:postgresql://ip-address:5432/database-name |
Download Instructions |
|
Documentation URLs |
NOTE: The filename of the PostgreSQL varies by database version.
The latest builds of the PostgreSQL driver are backward compatible through server version 7.2. Database server updates and driver updates are frequent.
The PostgreSQL driver supports SSL-encrypted transport for JDBC 3 driver versions.
The Adaptive Server driver is backward compatible. Database server updates and driver updates are infrequent.
The Adaptive Server driver supports SSL-encrypted transport. To enable SSL encryption, you must specify a custom socket implementation via the SYBSOCKET_FACTORY connection property. For additional information on how to set connection properties, see Connection Properties.
The following table lists an important connection property for this driver.
| Property | Significance |
|---|---|
SYBSOCKET_FACTORY |
Can be used to specify the class name of a custom socket implementation that supports encrypted transport |