DB2 - Problem description
Problem IC66739 | Status: Closed |
DOCUMENTATION OF CHANGES IN IBM DATA SERVER DRIVER FOR JDBC AND SQLJ VERSION 3.59.81/4.9.78 FOR DB2 LUW V9.5 FIXPACK 6 | |
product: | |
DB2 CONNECT / DB2CONNCT / 950 - DB2 | |
Problem description: | |
-All Connectivities: Using JDBC JCC T2/T4 to call a z/OS DB2 stored procedure, a NULL input parameter results in a -4463 error code returned. (132100) -Type-4 Connectivity: A NullPointerException occurs when connectionConcentrator property is set to true and sysplexWLB property is set to false and the JCC trace is enabled. (131088) -T4 Connectivity: When enableSysplexWLB is set to true, when executing a SQL statement, the driver may issue an Exception "A DRDA Data Stream Syntax Error was detected. Reason: 0xcbcb. ERRORCODE=-4499, SQLSTATE=58009".(131017) -Type-4 Connectivity: When PreparedStatement.setNull is called with java.sql.Types.LONGVARBINARY, the driver is mapping it to a VARCHAR instead of a VARBINARY. The driver code has been enhanced to flow VARBINARY when connecting to a server that supports it. (125885) -All Connectivity types: A looping problem happens while executing inside WAS and retrieveMessagesFromServerOnGetMessage is set to true and the message stored procedure (SQLCAMESSAGECCSID/ SQLCAMESSAGE) is missing on the server. (131185) -All Connectivities: The getJccSpecialRegisterProperties() method throws a -4700 error against DB2 z/OS databases running in Compatibility Mode. (131802) -All Connectivities: Select of a TIMESTAMP from source column that has a precision greater than 9 may result in an incorrect Timestamp fraction. This has been fixed. (132104) -All Connectivities: Using JDBC JCC T2/T4 to call a z/OS DB2 stored procedure, a NULL input parameter results in a -4463 error code returned. (132100) -T4 Connectivity: When enableSysplexWLB is true, the password is null, and one of the following APIs for trusted connection switch user is called, the driver may throw an exception with message "Null password is not supported. ERRORCODE=-4461, java.lang.NullPointerException or The DDM object is not supported. Unsupported DDM object code point: 0x2408." (132155) 1) DB2PooledConnection getDB2Connection (byte[], String, String, String, byte[], String, java.util.Properties); 2) DB2Connection reuseDB2Connection (byte[], String, String, String, byte[], String, java.util.Properties); -All Connectivities: Calling the isDB2Alive() API on a connection causes a NullPointerException in a multi-threaded environment. (127222) -All Connectivities: A connection might not be garbage collected if it is not explicitly closed by calling the close() API. (133308) -T4 Connectivity: Invoking the DB2Binder with an incorrect or unknown URL format causes a NullPointerException. (135321) -All Connectivities: Specifying currentSQLID on the DB2XSRBinder URL is not honored prior to bind processing when DB2XSRBinder is invoked. (135783) -T4 Connectivity: The JDBC driver throws a SQLException with SQLCODE4499 (-4499) when an update/delete batch greater than 32k is executed against DB2 z/OS. (132033) -All Connectivities: When the user asks for auto-generated keys without providing column names or column indices from a view having identity columns, the auto-generated keys result set is not returned. (136007) -All Connectivity Types: The driver throws a NullPointerException during SQLJ customization with online check off. (134593) -All Connectivity Types: If currentPackagePath is set for the original connection and then connection reuse is invoked, the driver may throw a SQLException with error code -805. (133800,136582) -All Connectivity Types: In the following scenario: 1. Get a logical connection from a PooledConnection 2. Call getDB2SystemMonitor, enable and start 3. Close the logical connection 4. Get another logical connection from the PooledConnection 5. Call getDB2SystemMonitor and enable The driver will throw an exception "System monitor cannot be disabled while actively monitoring. ERRORCODE=-4471, SQLSTATE=null". (134220) -All Connectivity Types: When the property emulateParameterMetaDataForZCalls is set to true and the target server is z/OS, CallableStatement.getParameterMetaData() may leak Statement and ResultSet resources. (134825) -All Connectivity Types: When the property emulateParameterMetaDataForZCalls is set to true and the target server is z/OS, if CallableStatement.getParameterMetaData() is called and the stored procedure returns resultsets, CallableStatement.getResultSet() may cause a NullPointerException. (134827) -All Connectivity Types: Previously, the driver used error code -4228 for batch errors. Now the driver uses -4229. (135206) -T4 Connectivity: For the following trusted switch user APIs, if the user is NULL, the driver throws an exception with message "Execution failed due to a distribution protocol error that caused deallocation of the conversation". The error message is changed to "Null userid is not supported". 1) DB2Connection getDB2Connection (byte[], String, String, String, byte[], String, java.util.Properties); 2) DB2Connection reuseDB2Connection (byte[], String, String, String, byte[], String, java.util.Properties); (136006) -T4 Connectivity: When client reroute occurs from a server with a lower level security manager to a server with a higher security manager, the driver throws a SQLException with SQLCODE4499 (-4499). (137441) -T4 Connectivity: SSL connections will fail if FIPS is enabled. (137497) -All Connectivity Types: The application may hang if inserting CLOB/BLOB/XML data with a 0 length. (139015) -T4 Connectivity: If the application has the following: 1. Scrollable cursor 2. Property useRowsetCursor is set to false 3. Property progressiveStreaming is not set (default is true) or set to true 4. The LOB/XML length is greater than streamBufferSize The driver may throw SQLException with error code -30073. (134359) -All Connectivity Types: The driver may throw a NullPointerException when calling ResultSet.updateRow()/Result.InsertRow(). (138224) -All Connectivity Types: An ArrayIndexOutOfBoundException may be thrown for a heterogeneous batch in static SQLJ if the batched statements have different numbers of parameter markers. (139796) -SQLJ (All Connectivity Types): SQLJ Iterator isClosed() returns an incorrect result if the underlying JDBC ResultSet was closed implicitly by the driver. For example, a forward-only ResultSet is closed by the driver after fetching the last row. The ResultSet is marked closed. However, SQLJ Iterators did not reflect the true state using the isClosed() call. (135746) -Type-4 Connectivity: Under a sysplexWLB environment, an exception with SQLCODE204 (-204) might be thrown while executing a SQL if there was an error with SQLCODE4499 (-4499) previously thrown on that connection. (132491) -Type-4 XA Connectivity: Under a sysplexWLB environment, an XAException with XAER_PROTO error might be thrown at XA End if there was a previous error with SQLCODE4499 (-4499) thrown during execution of a global transaction. (133178) -Type-4 Connectivity: Under a sysplexWLB environment, the workload among the sysplex members was not well balanced. (134755) -Type-4 Connectivity: Under a sysplexWLB environment, when trying to get an initial connection by calling the DB2ConnectionPoolDataSource.getConnection() method, a NullPointerException might be thrown after multiple reoccurring SQLCODE4499 (-4499) errors because some of the sysplex members were unavailable. (137437) -Type-4 Connectivity: Under a sysplexWLB environment with the sslConnection property enabled, the driver fails to failover to other sysplex members if the current member goes down in the middle of a transaction. (138627) -Type-4 Connectivity: Under a sysplexWLB environment, an exception with SQLCODE204 (-204) will be thrown while executing the first SQL if there is a special register property set in the DataSource, and a rollback is the first method called before any SQL statement is executed after the connection is opened. (138991) -Type-4 Connectivity: Under a sysplexWLB environment, the CLIENT_APPLNAME special register might be missing after a transaction boundary if the CLIENT_APPLNAME special register was originally set at the data source level by calling dataSource.setClientApplicationInformation(). (132276) -Type-4 Connectivity: Under a sysplexWLB environment, if failover occurs during a reset, a SQLException with SQLCODE4499 (-4499) and a SQLException with SQLCODE30108 (-30108) are thrown. (135453) -Type-4 XA Connectivity: Under a sysplexWLB environment, an exception with SQLCODE4499 (-4499), reason code 0x13, and SQLSTATE=58009 might be thrown if the underlying XAConnection is a trusted connection opened by XADataSource.getDB2TrustedXAConnection(). (135452) -Type-4 Connectivity: Running under a heavy workload sysplexWLB environment and periodically stopping and restarting the sysplex members, the JCC driver might not distribute the workload properly. (135451) -Type-4 XA Connectivity: A SQLCODE4499 with a null socketOutputStream error might be thrown against a DB2 z/OS server under non-sysplexWLB environment. (136885) -Type-4 XA Connectivity: An XAException with XAER_PROTO or XAER_DUPID error might occur at the time of XA END for a global transaction when using an XADataSource with the enableSysplexWLB property set to false and the enableClientAffinitiesList property enabled. (135964) -Type-4 Connectivity: Under a sysplexWLB environment, the JCC driver might not distribute the workload properly if Statement.cancel() is called to cancel a long running transaction. (137109) -All Connectivities: 1) ParameterMetaData/ResultSetMetaData.getColumnType incorrectly return TIMESTAMPTZ = -100010 and will now return java.sql.Types.OTHER = 1111. 2) JCC does not throw an exception when the input time zone value for DBTimestamp.valueOfDBString is beyond the range of -23:59 and +23.59. The driver will now throw an exception with message "Time Zone format must be in the format of (+/-)th:tm, where the th value is between 0 and 23, and tm value is between 00 and 59". (135331) -All Connectivities : The driver is not showing the stored procedure name in the error message for (SQLCODE444). The error message for stored procedures is displayed as "The load module name for the stored procedure, {0}, is not found on the server.". (136696) -All Connectivities : The driver throws an exception if the isolation level is not known when calling DatabaseMetaData.supportsTransactionIsolationLevel(). This has been changed to return false instead. (137374) -All Connectivity Types: A StringIndexOutOfBoundsException is encountered when a java.sql.Statement is used to execute a query and setMaxRows is called before each execution but with a different value. (133241) -Type-4 Connectivity: Driver throws an exception with SQLCODE4499 (-4499) with message "Actual code point, 0x2f does not match expected code point, 0x2408" when calling a stored procedure on DB2 for z/OS while going through the gateway and the stored procedure is defined with "COMMIT ON RETURN YES". (134363) -Type-4 Connectivity: Driver is incorrectly attempting to re-establish a connection upon communication failures if DNS is configured with at least 2 IP addresses even if no client reroute properties are configured. (137501) -All Connectivity Types: An extra space is injected into the string literal when escape syntax is used with a return value. (137966) -Type-4 Connectivity: Driver does not try to reroute to an alternate server if a communication failure occurs while inserting a large object and throws an exception with SQLCODE4499 (-4499) with message "A communication error occurred during operations on the connection's underlying socket, socket input stream, or socket output stream." (137300) -Type-4 Connectivity: When driver properties "affinityFailbackInterval", "enableSeamlessFailover" and "enableClientAffinitiesList" are enabled, driver throws an exception with SQLCODE4470 (-4470) with message "Invalid operation: statement is closed." following a successful failover if driver has processed an agent permanent reply message in the failover process. (137660) -Type-4 Connectivity: When driver properties "affinityFailbackInterval" and "sslConnection" are both enabled, driver fails to failback to the primary server because it was not creating a SSL socket to detect the availability of the failback server. (137301) -Type-4 Connectivity: When driver properties "affinityFailbackInterval", "enableSeamlessFailover" and "enableClientAffinitiesList" are enabled, driver fails to failback to the primary server if the primary server is stopped and restarted. (137964) -Type-4 Connectivity: Driver throws an exception with SQLCODE4499 (-4499) with message "The DDM object is not supported. Unsupported DDM object code point: 0x220a" while inserting a BigDecimal via the gateway going to DB2 for iSeries. (138861) -All Connectivities: The driver returns a com.ibm.db2.jcc.DBTimestamp object which is a subclass of java.sql.Timestamp instead of a java.sql.Timestamp object when standard JDBC APIs are called for returning a timestamp object. This can cause a ClassNotFoundException if the object is deserialized over network where the driver is not in the classpath. We now will only return java.sql.Timestamp object in the standard JDBC APIs. (136053) -Type-4 XA Connectivity: An XAER_OUTSIDE exception will be thrown when the application is starting a global transaction after 1) executing an executeQuey() statement within a local transaction, 2) the result set returned by the DB2 server needs more than one network round trip, and 3) the QUERY_CLOSE_IMPLICIT_COMMIT feature is supported by the DB2 server. (140048) -Type-2 LUW Connectivity: Calling the DB2Administrator API getCatalogueDatabases() in multiple threads could result in a java JVM core dump. (140482) | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of the IBM Data Server Driver for JDBC and SQLJ * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to V9.5 Fixpack 6 * **************************************************************** | |
Local Fix: | |
n/a | |
available fix packs: | |
DB2 Version 9.5 Fix Pack 6a for Linux, UNIX, and Windows | |
Solution | |
Problems fixed in DB2 LUW V9.5 Fixpack 6 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 28.02.2010 22.06.2010 22.06.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.5.FP6 | |
Problem solved according to the fixlist(s) of the following version(s) |