DB2 - Problem description
Problem IC74034 | Status: Closed |
DOCUMENTATION OF CHANGES IN IBM DATA SERVER DRIVER FOR JDBC AND SQLJ VERSION 3.62.39/4.12.38 FOR DB2 LUW V9.7 FIXPACK 4 | |
product: | |
DB2 CONNECT / DB2CONNCT / 970 - DB2 | |
Problem description: | |
============================================================ All Connectivity: 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 wsdbu00694927) ____________________________________________________________ All Connectivity: The following proprietary methods is provided: 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; In addition, the standard isAutoIncrement method of ResultSetMetaData will return true for temporal columns.(wsdbu00690647 wsdbu00690653) ____________________________________________________________ All Connectivity: Previously, the special characters carriage returns (#x0d), line feeds (#x0a), and tabs (#x09) are not escaped during serialization process from binary XML, now these characters are escaped. (wsdbu00796615 wsdbu00689711) ____________________________________________________________ T4 Connectivity:Starting from JCC 3.62/4.12, type 4 connectivity will process the correlation tokens returned from DB2 for z/OS v10 using Unicode and IPv6 format when both are supported. (wsdbu00688943 wsdbu00688953) ____________________________________________________________ T4 Connectivity: When Statement.cancel() is called (this could be called by the application explicitly or implicitly), if multithreading is involved, a NullPointerException might occur. This problem is fixed. (wsdbu00686193 wsdbu00686196) ____________________________________________________________ All Connectivity: For processing Instruction tag for binary xml, if the value is empty, Jcc has an extra space. For example, if the tag is <?p9?> or <?p10?>, Jcc put an extra space in the tag so the tag is <?p9 ?> or <?p10 ?>. This problem is fixed. (wsdbu00685454 wsdbu00685463) ____________________________________________________________ T4 Connectivity: when enableSysplexWLB sets to true, when executing a sql statement, the driver may issue Exception "A DRDA Data Stream Syntax Error was detected. Reason: 0xcbcb. ERRORCODE=-4499, SQLSTATE=58009". The problem has been fixed. (wsdbu00685475 wsdbu00685480) ____________________________________________________________ T4 Connectivity Type: the invocation of the license stored procedure is enabled against DB2 for LUW. The invocation occurs even when license jar exists. No exception will be thrown even when the invocation fails. (wsdbu00687816 wsdbu00688023) ____________________________________________________________ SQLJ ALL Connectivity Type: SQLJ added a new JCC Global property called db2.jcc.sqljToolsExitJVMOnCompletion. This is a Boolean property. The default value for this property is true i.e. 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 wsdbu00693130) ____________________________________________________________ SQLJ T4 Connectivity Type: Specifying pkgVersion AUTO during SQLJ Customization will create packages with version of the form: YYYY-MM-DD.HH.MM.SS.nnnn This has changed from the current AUTO generated package version String which generates 3 fractional digits for the seconds. (146461, wsdbu00687385 ) ____________________________________________________________ SQLJ T4 Connectivity Type: Specifying pkgVersion AUTO during SQLJ Customization will create packages with version of the form: YYYY-MM-DD.HH.MM.SS.nnnn This has changed from the current AUTO generated package version String which generates 3 fractional digits for the seconds. (146461, wsdbu00687385 ) ____________________________________________________________ All Connectivity Types: An application can start JCC tracing without adding any code in its application nor having to stop the application by using JCC trace directives: db2.jcc.tracePolling db2.jcc.tracePollingInterval. JCC traces PreparedStatement when an application does java.sql.Connection.prepareStatement(SQL) but if the preparedStatement has been created, and the tracing is dynamically turned on after the creation, then 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 Connectivity Types: Using java.math.BigDecimal to map data of 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 (SqlCode -4220) from JCC driver. The feature introduces a new SqlCode (-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's getDouble(..) method may be used to fetch the special values.(wsdbu00689678) ____________________________________________________________ Type-4 Connectivity: The type 4 driver does not set all java.sql.BatchUpdateException's update counts to -3 ( java.sql.Statement.EXECUTE_FAILED) although at least one of the atomic batch Multi-row insert operations fails. The fix alters the behavior by setting all values in the update counts to -3 if any of the atomic batch Multi-row insert operations fails.(wsdbu00687778) ____________________________________________________________ T4 Connectivity: The type 4 driver does not set all java.sql.BatchUpdateException's update counts to -3 ( java.sql.Statement.EXECUTE_FAILED) although at least one of the atomic batch Multi-row insert operations fails. The fix alters the behavior by setting all values in the update counts to -3 if any of the atomic batch Multi-row insert operations fails.(146369,wsdbu00687778) ____________________________________________________________ All Connectivities: 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 the same is provided in the driver. (wsdbu00686741) ____________________________________________________________ All Connectivities: 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 wsdbu00689359) ____________________________________________________________ All Connectivities: When autogenerated keys are defined on the table on which triggers are defined, attempting to query the autogenerated keys was raising the SQLCODE -723 from the DB2 server. To fix this issue, JCC introduces a new boolean property useIdentityValLocalForAutoGeneratedKeys. The default is false. A value of true indicates that the driver must use the Database IDENTITY_VAL_LOCAL() function to determine the auto-generated keys values. A value of false indicates that the driver may exploit alternative Database supported methods, such as SELECT FROM INSERT to determine the auto-generated key values. (wsdbu00686072) ____________________________________________________________ Type-4 Connectivity: When enableSysplexWLB property or enableConnectionConcentrator property is set to "true", the JCC driver is making twice the number of client reroute connection attempts that are configured by maxRetriesForClientReroute. (wsdbu00692907) ____________________________________________________________ Type-4 Connectivity: Under sysplexWLB environment when JCC driver is retrying the sysplex members, an out of memory error is thrown because driver cannot get a successful database connection to either one or more surviving members. (wsdbu00692909) ____________________________________________________________ Type-4 XA Connectivity: Under sysplexWLB environment, an XAER_PROTO error might be thrown when JCC driver is retrying the sysplex members on a failover attempt. (wsdbu00692912) ____________________________________________________________ Type-4 XA Connectivity: A NullPointerException might be thrown along with an XAER_RMFAIL error when calling DB2XADataSource.getConnection() method in a multi-threaded application. The problem has been fixed. (wsdbu00690834) ____________________________________________________________ Type-4 XA Connectivity: A SQLException with SQLCODE911 (-911) was thrown when TMLCS (loosely coupled flag) is used with the XA Start method against DB2 LUW. The problem is fixed. (wsdbu00690521) ____________________________________________________________ All Connectivities: A new command line diagnostic utility is introduced to test and verify a successful connection between the client application and DB2 using the current installation/setup. This utility tests connection to the specified url that you configure for database access and verifies the connection by either executing the sql specified or executing the sql "SELECT * FROM SYSIBM.SYSDUMMY1" and also verifies the execution of a java.sql.DatabaseMetadata API call on that connection. For more details about this utility refer to the jcc documentation. (wsdbu00692578) ____________________________________________________________ T4 Connectivity Type: Added a new message to jcc tracing to indicate the java.io.IOException on a socket.read() operation. (wsdbu00687063) ____________________________________________________________ Type-4 Connectivity: After an HADR takeover, driver successfully re-routes some applications correctly to the new HADR primary database, but for other applications driver keeps trying to re-connect to the old primary database (which is now the standby database) over and over and does not try to connect to the new primary server at all. This problem has been corrected. (wsdbu00699542) ____________________________________________________________ T2 LUW Connectivity Type: The RSS size for db2fmp (stored procedure) process on the DB2 side grows about 2000 bytes every 3 minutes if an application calls a stored procedure several times. This problem has been fixed. (wsdbu00701244) ____________________________________________________________ All Connectivity: Jcc now throws an exception during getConnection if invalid value is set for the property InterruptProcessingMode. (wsdbu00698211) ____________________________________________________________ Type-4 Connectivity: Under sysplexWLB environment, JCC driver did not clean up the socket when DB2 server abended or returned the zero length response to the JCC driver. Also with this fix, if JCC driver get fatal errors from DB2 on some transactions which should not be retried, then driver will throw a disconnect exception rather than retrying the failed transaction. (wsdbu00699769) ____________________________________________________________ All Connectivity Types: JCC trace may have duplicate TRACE_DIAGNOSTICS blocks when either exception with error code SQLCODE952 (-952) or SQLCODE911 (-911) is encountered. (wsdbu00701777) ____________________________________________________________ Type-2 LUW Connectivity: Once a Java table UDF failed due to a lock timeout, any subsequent requests which use that Java table UDF can not be executed and get a NullPointerException even after all locks have been released. (wsdbu00699747) ____________________________________________________________ SQLJ ALL Connectivity Types: When using a .grp (group) file for SQLJ Customization and Bind, the output will display the list of ser files(included in the group file) one per line instead of one long String. (wsdbu00686698) ____________________________________________________________ | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users of the IBM Data Server Driver for JDBC and SQLJ * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 LUW V9.7 Fixpack 4 * **************************************************************** | |
Local Fix: | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows | |
Solution | |
Problems fixed in DB2 LUW V9.7 Fixpack 4 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 21.01.2011 25.05.2011 25.05.2011 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP4 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.4 |