IBM Data Server Driver for JDBC and SQLJ enhancements

The IBM Data Server Driver for JDBC and SQLJ contains a number of major enhancements for the Db2 11.5.8 base product, its mod packs, and its fix packs. Each fix pack for a release is cumulative; that is, a particular fix pack contains the enhancements and new features that were included in previous fix packs.

11.5.8 enhancements

Table 1. IBM Data Server Driver for JDBC and SQLJ enhancements and new capabilities in 11.5.8
Enhancement Description
New tool for validating JCC properties in the db2dsdriver.cfg file. A new tool has been added to the DB2Jcc diagnostic utility for validating properties that are not supported in JCC through the db2dsdriver.cfg file. This utility also displays error messages.
For more information, see the -validateCfg option in DB2Jcc - IBM Data Server Driver for JDBC and SQLJ diagnostic utility.
BOOLEAN support for Db2 for IBM i (V7R5). With the release of Db2 11.5.8, the Db2 JCC driver now provides Boolean flag enablement to support BOOLEAN data types against Db2 for IBM i V7R5 servers.
Prior to this release, the Db2 JCC driver sent the two-byte integer datatype to IBM i. By enabling the Boolean flag, the JCC driver can now interact over DRDA with IBM i V7R4 and earlier servers in the same way as it does with Db2 11.1 and later servers.
JDK 17 run time support. The JCC driver now supports JDK 17 as the runtime environment for the application migration. Applications using JCC can migrate to JDK 17.
Mapping of non-seamless errors to a communication error. The JCC driver supports seamless failover of transactions by reestablishing the connection and replaying necessary registers and transactions. Sometimes transactions cannot be seamlessly replayed, causing the driver to throw an error to the application, which then results in the application managing a replay scenario.
Certain error codes are thrown at the application when a non-seamless failover happens
  • -4498: Client reroute exception for non Sysplex scenario
  • -30108: Sysplex client reroute exception
  • -20542: Seamless failover unsuccessful
When the JCC driver is not able to do a seamless failover, it throws different error codes. Some applications are not coded today to handle the non-seamless errors, which results in application outages.
To ease the customers problem of having to recode the application to handle multiple errors, the JCC driver throws the -4499 communication error for all non-seamless failover errors. This behavior happens when the enableSysplexWLB is set to TRUE and when the server is Db2 for z/OS. If a connection exists, the JCC driver disconnects and throws the -4499 error instead of the older non-seamless error codes. This avoids the application outage due to non-seamless errors.
No changes happen when ACR is enabled without Sysplex WLB and when the server is Db2 (LUW). Seamless ACR still works as it did in the previous versions of Db2. Disconnect happens only if the transaction cannot be seamlessly rerouted.
A new property enableNonseamlessErrorCodes, enables the old behavior of the driver. If you want the driver to throw non-seamless error codes during failover, then you need to enable this property. The property is of type Boolean and the default value of this property is FALSE.
New connection property for enhanced query performance. The Db2 JDBC/SQLJ driver code has been enhanced to let users set the maximum number of extra query blocks at the client side. This change has resulted in the creation of a new JDBC/SQLJ driver property, MaxBlkExt. For more information, see Common IBM Data Server Driver for JDBC and SQLJ properties for Db2 servers.
New option for multi-factor authentication when using the db2connectactivate utility. A new option has been added to the db2connectactivate utility that allows users to enter an multi-factor authentication (MFA) token when they install a Db2 license. This fixes an issue that the utility previously had with allowing a user to enter a different passcode when an earlier passcode expired, due to two connections being used. Previously, the utility used one connection for activation and another connection for binder operations. The -mfa option enabled multi-factor authentication during the binding operation. For more information, see the -mfa option section of the db2connectactivate utility topic.