A fix is available
APAR status
Closed as program error.
Error description
JCC3.64: IBM DATA SERVER DRIVER FOR JDBC AND SQLJ NEW RELEASE 3.64
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All Users of the IBM Data * * Server Driver for JDBC and SQLJ * **************************************************************** * PROBLEM DESCRIPTION: IBM Data Sever Driver for JDBC and * * SQLJ version 3.64.111 is provided by * * this APAR ( JCCV364111 ) * * * * This APAR is applicable to IBM Data * * Sever Driver for JDBC and SQLJ * * for DB2 z/OS V10, DB2 z/OS V9 and * * the alternate supplemental driver * * for DB2 z/OS V8. ( JCCZOSDB2V10, * * JCCZOSDB2V9, JCCZOSDB2V8) * * * * This APAR delivers a new release (3.64) * * of the IBM Data Server Driver for JDBC * * and SQLJ providing an accumulation of * * defect fixes and enhancements. * * * * Individual items are documented in the * * APAR summary section that follows. * **************************************************************** * RECOMMENDATION: * **************************************************************** JCC sub-category keywords: JCCCOMMON, JCCT2ZOS, JCCT4, JCCT4XA, JCCSQLJ The following changes are delivered in this APAR: _______________________________________________________________ All Connectivities: Driver added getAffectedRowCount() API on com.ibm.db2.jcc.DB2Statement interface to return the affected row count number after a successful SQL execution. The affected row count will have the same value that is returned by the database server in the SQLCA after a successful execution of the SQL. (wsdbu01002565) _______________________________________________________________ All Connectivities: Driver improved the performance for JDBC API PreparedStatement.clearParameters(). (wsdbu01041918) _______________________________________________________________ All Connectivities: An SQL statement with more than 2MB size executed by the driver results in dump files creation and the db2diag.log file showing invalid SQL statement length. This problem is fixed. (wsdbu01040802) _______________________________________________________________ All Connectivities: java.sql.Timestamp.valueOf(String s) and com.ibm.db2.jcc.DBTimestamp.valueOfDBString(String s) should behave the same. However, java.sql.Timestamp.valueOf(String s) works with single digit month value, but the same value fails for com.ibm.db2.jcc.DBTimestamp.valueOfDBString(String s). This problem is fixed. (wsdbu01037037) _______________________________________________________________ All Connectivities: When both IBM Data Server Driver for JDBC and SQLJ and Informix native driver are presented in the application classpath and the application specified informix-sqli protocol in the database connection url intending to use the Informix native driver, the IBM Data Server Driver may intercept the call and try to return a connection preventing the Informix native driver to be used. This problem is fixed.(wsdbu01014749) _______________________________________________________________ All Connectivities: Adding a new option to DB2ConnectActivate to handle the secondary id. The option is activatorsqlid. Usage: java -cp <full_path_of_DB2ConnectActivate.jar> com.ibm.db2.jcc.DB2ConnectActivate -host <hostName> -port <port> -database <database> -user <userName> -password <password> -bind ( no | yes ) -collection <collection_name> -activatorsqlid <sqlid> -uninstall ( no | yes ) -trace ( no | yes ) -help (wsdbu01004425) _______________________________________________________________ All Connectivities: De-serialize a serialized SQLException object using different IBM Data Server Driver for JDBC and SQLJ version may result in java.lang.RuntimeException or other Exceptions due to incompatible Java Class. This problem is fixed. (wsdbu01003673) _______________________________________________________________ All Connectivities: An java.lang.SecurityException occurs when using the driver with Java SecurityManager enabled even if all permissions are granted to the driver through the applicable security policy. Applications running with -Djava.security.manager option as well as all applets were affected. This problem is fixed. (wsdbu00708452) _______________________________________________________________ Type-4 Connectivity: In a workload balancing environment, when the driver cannot connect to a member and returns a SQLCODE4499 (-4499) error, the connectionErrorOccurred() method might not be called on the connection pool manager(registered event listener). As a result, the subsequent call on this connection will result in a SQLCODE4470 (-4470) error. This problem has been fixed. (wsdbu01058341, wsdbu01059324, wsdbu01058206) _______________________________________________________________ Type-4 Connectivity: In a workload balancing environment, when all the members are not available and there are huge number of threads trying to failover at the same time, a massive flood of sockets might occur. This could result in SQLCODE4499 (-4499) error with message "java.net.BindException: Address already in use: Cannot bind". This is due to a large number of sockets are still in TIME_WAIT and it is reaching the resource limit on the client machine. In addition, SQLCODE1244 (-1224), database manager not accepting new requests error may also occur. This problem has been fixed. (wsdbu01059128) _______________________________________________________________ Type-4 Connectivity: In a workload balancing environment where maxRetriesForClientReroute, retryIntervalForClientReroute properties are not set and the application has not made its first successful connection to the group, then the driver loops for 10 minutes before reporting the error. This default behavior has been changed now to retry five times with retryIntervalForClientReroute set to zero when the driver can't even make its first successful connection. However, if a cached server list or an alternate server is specified, the driver will retry 10 minutes during the failover. This is the new default behavior. (wsdbu01049788) _______________________________________________________________ Type-4 Connectivity: If client application with alternate group enabled(enableAlternateGroupSeamlessACR=true) fails over from a primary group (ex: DB2 V10) to a lower version DB2 sysplex group (ex: DB2 V9), queries start to fail. This problem is fixed. (wsdbu01045871) _______________________________________________________________ Type-4 Connectivity: While performing failover during CallableStatement.executeBatch() call, the driver fails to replay the SQL in both workload balancing and sysplex environments even if its at the beginning of the transaction. This defect is fixed. (wsdbu01045345) _______________________________________________________________ Type-4 Connectivity: In a workload balancing environment, when the primary member is down, the driver may repeatedly throw an SQLException with SQLCODE4499 (-4499) even though other members are available in the system. (wsdbu01045054) _______________________________________________________________ Type-4 Connectivity: With sysplex enabled, when connected to a setup with 3 or more members, application might hang if first two members are brought down one by one. This problem is fixed. (wsdbu01043132) _______________________________________________________________ Type-4 Connectivity: In a workload balancing environment, an SQLException with SQLCODE204 (-204) may be thrown to the application if a reuseDB2Connection() method is called after successfully failover. This problem is fixed. (wsdbu01041920) _______________________________________________________________ Type-4 Connectivity: In a workload balancing environment against pureScale server, even after driver opened its first connection successfully to the primary member and had received the server list of more than one member, the subsequent connections failed to connect to any other members in the server list if the primary member went down. This problem is fixed. (wsdbu01032594) _______________________________________________________________ Type-4 Connectivity: In a workload balancing environment, the driver has made a performance improvement by not retrying the connectivity to the member that is known unavailable during the auto failover. (wsdbu01031011) _______________________________________________________________ Type-4 Connectivity: A new securityMechanism, com.ibm.db2.jcc. DB2BaseDataSource.TLS_CLIENT_CERTIFICATE_SECURITY, is introduced when connecting to zOS server. When application uses CLIENT_CERTIFICATE_SECURITY, the driver will use SSLSocket to communicate to DB2 server, and the mutual authentication will be done at the network layer using the TLS/SSL. If the target server supports this security mechanism and the mutual authentication is passed, a valid Connection will be returned to the application. If the server does not support this security mechanism or the connection was not authenticated using the TLS/SSL, the drive will throw an DisconnectException. (wsdbu01023931) _______________________________________________________________ Type-4 connectivity: When there is an error during socket creation, the error reported by the driver was incorrectly reporting a message text that included "See attached Throwable for details" even there was no attached java.lang.Throwable. This problem is fixed. (wsdbu01006532) _______________________________________________________________ Type-4 Connectivity: Driver throws SQLException with SQLCODE4225 (-4225) when executing a "SELECT INTO TEMP" statement against Informix database server. This problem is fixed. (wsdbu01000497) _______________________________________________________________ Type-4 Connectivity: In a workload balancing environment, the value returned by APIs numberOfRequestsBlockedPoolMax() and totalTimeBlocked() from the object that is based on the com.ibm.db2.jcc.DB2PoolMonitor class might not be correct. This problem is fixed. (wsdbu01000053) _______________________________________________________________ Type-4 connectivity: The properties, alternateGroupServerName, alternateGroupDatabaseName, and alternateGroupPortNumber, do not get applied to a connection when supplied through a java.util.Properties object to the java.sql.DriverManager.getConnection(url, prop) API. This has been fixed. (wsdbu00996633) _______________________________________________________________ Type-4 Connectivity: Driver performs a seamless failover even when enableAlternateGroupSeamlessACR is set to false. This defect is fixed (wsdbu00995499) _______________________________________________________________ Type-4 connectivity: When executing batch statements with no input data as a simple insert statement, NullPointerException is thrown in addBatch() API call if sendDataAsIs property is enabled or set to true. This issue is fixed. (wsdbu01043185). _______________________________________________________________ Type-4 XA Connectivity: During auto failover scenario in a workload balancing environment against DB2 zOS server, an XAException with XAER_NOTA error may be thrown on a XA Commit (one phase commit) call even if the driver has successfully failover to a member after starting of a XA transaction. This problem has been fixed. (wsdbu01058658) _______________________________________________________________ Type-2 z/OS Connectivity: A new DataSource/Connection property, currentLocaleLcCtype, is introduced to set the CURRET LOCALE LC_CTYPE special register on DB2 server. This property can only be set before Connection creation and cannot be changed afterwards. (wsdbu01005252) _______________________________________________________________ Type-2 z/OS Connectivity: Driver is no longer overriding column sqltype nullable for Limited Block Fetch against DB2 z/OS V10 due to the fact it may cause potential problem when the fetched column has LOB/XML type and the nullable attribute is NOT NULL. (wsdbu01029064)
Problem conclusion
The items described in the APAR Problem Summary have been resolved as noted in the summary and included in this APAR.
Temporary fix
Comments
APAR Information
APAR number
PM65007
Reported component name
DB2 ODBC/JDBC/S
Reported component ID
5740XYR02
Reported release
912
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-05-18
Closed date
2012-11-09
Last modified date
2012-12-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK83411 UK83412 UK83413
Modules/Macros
DSNAQJBA DSNAQJBB DSNAQJB1 DSNAQJB2 DSNAQJB3 DSNAQJB4 DSNAQJB5 DSNAQJB6 DSNAQJB7 DSNAQJB8 DSNAQJC1 DSNAQJC2 DSNAQJC3 DSNAQJC4 DSNAQJRM DSNAQJS1 DSNAQJS2 DSNAQ3BA DSNAQ3BB DSNAQ3B1 DSNAQ3B2 DSNAQ3B3 DSNAQ3B4 DSNAQ3B5 DSNAQ3B6 DSNAQ3B7 DSNAQ3B8 DSNAQ3B9 DSNAQ3CA DSNAQ3CC DSNAQ3CE DSNAQ3CF DSNAQ3CM DSNAQ3C0 DSNAQ3C1 DSNAQ3C2 DSNAQ3C3 DSNAQ3C4 DSNAQ3C5 DSNAQ3C6 DSNAQ3C7 DSNAQ3C8 DSNAQ3C9 DSNAQ3E1 DSNAQ3F1 DSNAQ3F2 DSNAQ3F3 DSNAQ3F4 DSNAQ3L2 DSNAQ3L9 DSNAQ3RM DSNAQ3S1 DSNAQ3S2 DSNAQ6CC DSNAQ6CE DSNAQ6CF DSNAQ6CM DSNAQ6C0 DSNAQ6C1 DSNAQ6C2 DSNAQ6C3 DSNAQ6C4 DSNAQ6C5 DSNAQ6C6 DSNAQ6C7 DSNAQ6C9
Fix information
Fixed component name
DB2 ODBC/JDBC/S
Fixed component ID
5740XYR02
Applicable component levels
RA12 PSY UK83411
UP12/11/13 P F211
R812 PSY UK83412
UP12/11/13 P F211
R912 PSY UK83413
UP12/11/13 P F211
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"912"}]
Document Information
Modified date:
04 March 2021