A fix is available
APAR status
Closed as program error.
Error description
New release of the IBM DB2 Driver for JDBC and SQLJ (release 3.62) providing various enhancehment and service updates. Additional keywords: jcc 3.62 jcc3.62
Local fix
no local fix or workaround Additional Keywords: kixdcfcic670
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.62.57 is provided by * * this APAR ( JCCV36257 ) * * * * 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.62) * * 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: The driver Java trace may have duplicated TRACE_DIAGNOSTICS blocks when either exception with error SQLCODE952 (-952) or SQLCODE911 (-911) is encountered. This has been fixed. (wsdbu00701777) ____________________________________________________________ All Connectivities: The following proprietary method is provided to support temporal column: DB2ResultSetMetaData * Indicates whether the designated column is a * temporal column, * including ROW BEGIN (1), ROW END (2), and * TRANSACTION START ID (3). * * @returns -1 if not a temporal related column, * 1 if it is a ROW BEGIN column, * 2 if it is a ROW END column, and * 3 if it is a TRANSACTION START ID column. * * @throws java.sql.SQLException * * @since JCC 3.62/4.12 public int getDBTemporalColumnType (int column) throws java.sql.SQLException; The standard isAutoIncrement method of ResultSetMetaData will return true for temporal columns. (wsdbu00690647, wsdbu00689177, wsdbu00690850) ____________________________________________________________ All Connectivities: Using java.math.BigDecimal to map data type DECFLOAT is recommended for applications seeking higher precision. However, this can be a problem if applications also want to retrieve special values: NaN, Infinity and -Infinity which are not supported by java.math.BigDecimal. Any such attempt would get a generic conversion error SQLCODE4220 (-4220) from the driver. Now, the driver introduces a new SQLCODE4231 (-4231), which is returned when an application makes a call to java.sql.ResultSet.getBigDecimal(..) method to fetch these special values, thus a subsequent call to java.sql.ResultSet.getDouble(..) method may be used to fetch the special values. (wsdbu00689678, wsdbu00686028) ____________________________________________________________ All Connectivities: A new command line diagnostic utility is introduced to test and verify a successful connection between the client application and DB2. This utility tests connection to the specified url that user configured for the database access, verifies the connection by either executing the sql specified or executing the sql "SELECT * FROM SYSIBM.SYSDUMMY1", and verifies the execution of a java.sql.DatabaseMetadata API call on that connection. (wsdbu00692578) ____________________________________________________________ All Connectivities: An application can start JCC tracing without adding any code in its application nor having to stop the application by using the JCC trace directives "db2.jcc.tracePolling" and "db2.jcc.tracePollingInterval". However, if the PreparedStatement has been created and the tracing is dynamically turned on after the creation, there is no way to get that statement creation information in the trace. This feature extends this dynamic trace capability by dumping properties, result metadata and parameter metadata for those PreparedStatements which were prepared while the trace was off as JCC detects the trace is being turned on. (wsdbu00690865) ____________________________________________________________ All Connectivities: A proprietary method is provided on com.ibm.db2.jcc.DB2Struct to retrieve the metadata information of the underlying ROW data. DB2Struct * Retrieve the metadata of this Struct object. * * @return the description of this Struct object. * @throws SQLException * if a database access error occurs or * this method is called on a closed result set java.sql.ResultSetMetaData getMetaData() throws SQLException; (wsdbu00693474) ____________________________________________________________ All Connectivities: The driver now throws an exception during getConnection if invalid value is set for the property InterruptProcessingMode. (wsdbu00698211) ____________________________________________________________ Type-4 Connectivity: Starting DB2 for LUW v9.7 FP4, the server allows ROW type and ARRAY of ROW type as parameters for stored procedures executed via the clients. The driver provides the corresponding support for the same. (wsdbu00685890) ____________________________________________________________ Type-4 Connectivity: As part of DB2 for LUW v9.7 FP4, the server allows BOOLEAN as parameters for stored procedures executed via the clients. Corresponding support for it is provided in the driver. (wsdbu00686741) ____________________________________________________________ Type-4 Connectivity: Under sysplexWLB environment, if a member goes down at a time when the driver is trying to open a new connection to that member, the driver may not properly balance the workload among the DB2 members after that point in time. This problem has been fixed. (wsdbu00707444) ____________________________________________________________ Type-4 Connectivity: When enableSysplexWLB property or enableConnectionConcentrator property is set to "true", a SQLCODE4470 (-4470) error might be thrown on ResultSet.next() for a held cursor because it might be closed incorrectly. This normally happens because the driver is switching server connections at transaction boundaries. This has been fixed. (wsdbu00692764) ____________________________________________________________ Type-4 Connectivity: When enableSysplexWLB property or enableConnectionConcentrator property is set to "true", the setClientInfo information was not passed on to the DB2 z/OS server for some transactions. This problem has been fixed. (wsdbu00704040) ____________________________________________________________ Type-4 Connectivity: When extendedDiagnosticLevel property is set to 0xF1 and a table on a remote database is accessed, a java.lang.ArrayIndexOutOfBoundsException was thrown. This problem has been fixed. (wsdbu00703450) ____________________________________________________________ Type-4 Connectivity: Added a new message to jcc tracing to indicate the java.io.IOException on a socket.read() operation. (wsdbu00687063) ____________________________________________________________ Type-4 Connectivity: When enableSysplexWLB is set to "true", driver may report SQLCODE4499 (-4499) error with message "A DRDA Data Stream Syntax Error was detected. Reason: 0xcbcb. ERRORCODE=-4499, SQLSTATE=58009" during sql statement execution. This problem has been fixed. (wsdbu00685475) ____________________________________________________________ Type-4 Connectivity: When enableSysplexWLB property or enableConnectionConcentrator property is set to "true", the driver is making twice the number of client reroute connection attempts that are configured by maxRetriesForClientReroute. This has been fixed. (wsdbu00692907) ____________________________________________________________ Type-4 Connectivity: Driver will process the correlation tokens returned from DB2 for z/OS v10 using Unicode and IPv6 format when both are supported. (wsdbu00688943) ____________________________________________________________ Type-4 Connectivity: During auto seamless fail over, there are scenarios where the statement failed because of abnormal conditions (i.e. a zero length reply was sent by the server). In these scenarios, the driver should only retry for 10 times before giving up by throwing an SQL Exception with SQLCODE4228 (-4228). However, the driver was not throwing this exception. This has been fixed. (wsdbu00703079, wsdbu00705273, wsdbu00706687) ____________________________________________________________ Type-4 Connectivity: Under sysplexWLB environment, the database product version of the connection object might change during the sysplex migration where sysplex members are downgraded or upgraded. It should keep the same value that it received while making the initial connection and it should never be changed during the migration. (wsdbu00706624) ____________________________________________________________ Type-4 Connectivity: java.lang.ArrayIndexOutOfBoundsException may be thrown if the PreparedStatement was profiled with an old profiler and was executed statically via pureQuery. This problem is now fixed. (wsdbu00714246) ____________________________________________________________ Type-4 Connectivity: Previously, during T4 Connection time, Product-specific Data (PRDDTA) String specifies product specific information is sent to server in EBCDIC format. Now the format depends on whether server supports unicode manager or not. If server supports unicode manager, the data is sent to server in unicode format. Otherwise, it is sent to server in EBCDIC format. (wsdbu00704263 wsdbu00704266) ____________________________________________________________ SQLJ ALL Connectivities: SQLJ added a new JCC Global property "db2.jcc.sqljToolsExitJVMOnCompletion". This is a Boolean property. The default value for this property is true. All sqlj tools like db2sqlbinder and db2sqljcustomize will call System.exit() upon completion. Setting this to false means that sqlj Tools do not call System.exit(). (wsdbu00685247) ____________________________________________________________ SQLJ ALL Connectivities: An SQLException may occur most likely in a Websphere application with the error message "ResultSet is closed". The SQLJ connection context and associated resources closed prematurely during garbage collector(GC) execution. Fixed to not close the SQLJ statement when there is an active ResultSet and GC driven Finalizer is called. (wsdbu00706036) ____________________________________________________________ Type-2 z/OS Connectivity: The type-2 z/OS driver code holds a driver level Java synchronization when calling native DB2 code to create and close Connections. This driver level synchronization can result in an unnecessary performance bottleneck in multi-threaded environments, particularly in environments where Connection pooling is not used. The type-2 driver code has been rewritten to no longer require the driver level synchronization for Connection creation and close. (wsdbu00692440) ____________________________________________________________ Type-2 z/OS Connectivity: java.lang.NumberFormatException is thrown when attempting to create a new Connection under the CICS execution environment, and there is a CICS ABEND due to the DB2 not being available. The driver was not correctly propagating the non-zero return code from the CICS "DSNHLI" call in order to generate the expected SQLException. (wsdbu00692438) ____________________________________________________________ Type-2 z/OS Connectivity: java.lang.NullPointerException is thrown when processing metadata from a ResultSet due to a native error (-4000004). This has been fixed. (wsdbu00708529) ____________________________________________________________
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
PM32360
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
2011-02-10
Closed date
2011-04-11
Last modified date
2011-06-27
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK66662 UK66663 UK66664
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 UK66662
UP11/04/13 P F104
R812 PSY UK66663
UP11/04/13 P F104
R912 PSY UK66664
UP11/04/13 P F104
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:
03 March 2021