DB2 - Problem description
Problem IC62193 | Status: Closed |
DOCUMENTATION OF CHANGES IN IBM DATA SERVER DRIVER FOR JDBC AND SQLJ VERSION 3.58.82/4.8.87 FOR DB2 LUW V9.7 FP1 | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
============================================================ Documentation of changes in IBM Data Server Driver for JDBC and SQLJ version 3.58.82/4.8.87 for DB2 LUW V9.7 Fixpack 1. The previous version was 3.57.82/4.7.85 for DB2 LUW V9.7. ____________________________________________________________ All Connectivity Types: When invoking a z/OS stored procedure that has space in the name, the driver throws SQLException "Literal replacement parsing failed for procedure call to DB2 for z/OS". (126896) ____________________________________________________________ All Connectivity Types: When Statement.cancel gets called (this may be called explicitly or get triggered by Statement.setQueryTimeout), if something is wrong with the DB2 server and a DisconnectException occurs, a NullPointerException may be issued from java.util.LinkedList$ListItr.remove. This is because both the cancel thread and main thread use the same LinkedList and Iterator for the Exception path. In a race condition, one thread may have already removed the element from the LinkedList when the other thread tries to remove, causing the NPE. (128074) ____________________________________________________________ All Connectivity Types: If an application first connects to DB2 LUW and calls DB2Connection.getJccSpecialRegisterProperties(), then the same thread connects to DB2 z/OS and calls the same method, the driver will throw a SQLException with error code -104. (128970) ____________________________________________________________ All connectivity types: Previously, the driver doesn't allow "YES"/"NO" as values for the following properties. - atomicMultiRowInsert - enableNamedParameterMarkers - monitorEnabled - progressiveStreaming - useJDBC4ColumnNameAndLabelSemantics Now these values are allowed. (129768) ____________________________________________________________ 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 Connectivity Types: A deadlock could occur if an application uses DataSource and DriverManager for opening connections at the same time. This could result in a Java thread hang in the JVM. (125296) ____________________________________________________________ All Connectivity: When driver property enableNamedParameterMarkers is set to DB2BaseDataSource.YES and the SQL statement executed is MERGE and the SQL statement contains named parameter markers, i.e. :abc, setJccXXXAtName() methods throw an exception for "Invalid argument: Parameter marker [name] was not present in the SQL String." (124933) ____________________________________________________________ All Connectivity: An "Invalid operation: result set is closed" exception with SQLCODE4470 (-4470) is encountered when making a call to ResultSet.next() on the ResultSet retrieved from a statement that is prepared or executed with RETURN_GENERATED_KEYS. (127025) ____________________________________________________________ All connectivity types: The class com.ibm.db2.jcc.DB2DataSource has been deprecated. Please use com.ibm.db2.jcc.DB2SimpleDataSource instead. This applies to all supported backend databases. (126506) ____________________________________________________________ All connectivity types: When using the DriverManager to obtain a connection, the client will be unable to change the value of the useJDBC4ColumnNameAndLabelSemantics property from DB2BaseDataSource.NOT_SET. Furthermore, when using the JDBC 3 driver, the client will be unable to change the value of the progressiveStreaming property from DB2BaseDataSource.NOT_SET These problems do not exist when using a DataSource to obtain a connection. (127128) ____________________________________________________________ All Connectivities: The getJccSpecialRegisterProperties() method throws a -4700 error against DB2 z/OS databases running in Compatibility Mode. (131802) ____________________________________________________________ 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) ____________________________________________________________ All Connectivities: Previously, if the DataSource property sendDataAsIs is set to true, the driver allows getting ParameterMetaData using PreparedStatement.getParameterMetaData(). This is no longer allowed, and an exception will be throw with message "Cannot get parameterMetaData information when property sendDataAsIs is true". (129326) ____________________________________________________________ All Connectivities: A "java.lang.ClassCastException" exception is encountered when PreparedStatement.executeBatch () is called against DB2 for z/OS to execute an INSERT FROM SELECT statement. (130216) ____________________________________________________________ All Connectivities: An "Unrecognized JDBC type: 1111" exception with SQLCODE4228 (-4228) is encountered when PreparedStatement.setNull () is called with java.sql.Types.OTHER against a target column that is defined as DECFLOAT. (130681) ____________________________________________________________ All Connectivities: Select of a TIMESTAMP from source column that has a precision greater than 9 may result in an incorrect Timestamp fraction. (132104) ___________________________________________________________ All Connectivities: Conversions from a string type to a corresponding boolean type is giving incorrect results. (122608) ____________________________________________________________ All Connectivities: A -805 SQLException is thrown when both currentPackagePath and currentFunctionPath DataSource properties are set. (122488) ____________________________________________________________ All Connectivities: When a null String array is passed for agk column names in the Connection.prepareStatement(String, String[]) method, a null pointer exception is thrown. (123866) ____________________________________________________________ All Connectivities: Attempting to register an OUT parameter on callable statement within compound block failed with error code -4461 and sqlstate 42815. (127988) ____________________________________________________________ All Connectivity Types: When progressive streaming is set to false, retrieving data from Blob/Clob to InputStream/Reader may not get complete data. (122292) ____________________________________________________________ All Connectivity Types: Previously, the driver doesn't support CCSID 1153. If the database is in CCSID 1153, the driver throws a SQLException with message "Unsupported ccsid, encoding, or locale:1153". CCSID 1153 support is now added. (122552) ____________________________________________________________ All Connectivity Types: When invoking the com.ibm.db2.jcc.DB2Binder functions against z/OS v10 server, the driver may throw SQLException with message "The DDM object is not supported. Unsupported DDM object code point: 0x2213. ERRORCODE=-4499, SQLSTATE=58015". (124653) ____________________________________________________________ All Connectivity Types: When retrieving XML data from z/OS v10 server, the driver may throw Exception java.lang. IllegalArgumentException: Negative initial size: -1. (124699) ____________________________________________________________ All Connectivity Types: When using SQL MERGE statement and the DataSource property atomicMultiRowInsert is set to true, the driver may throw a java.lang.ClassCastException. (125076) ____________________________________________________________ All Connectivity Types: If the target server is LUW and the DataSource property retrieveMessagesFromServerOnGetMessage is set to true, SQLException.getMessage() may only return partial SQL error message tokens if they contain double byte characters. (126118) ____________________________________________________________ Type-4 and Type-2 LUW Connectivity: Executing a PreparedStatement which has XML parameters is noticeably slower in the DB2 for Linux, Unix, and Windows v9.5 driver than the v9.1 driver. This slowdown is even more evident when the statement has multiple XML parameters. This slowdown is no longer present. (128593) ____________________________________________________________ T4 Connectivity: If the target server is iSeries, the DataSource property encryptionAlgorithm is set to 1, and the DataSource property securityMechanism is set to ENCRYPTED_USER_AND_PASSWORD_SECURITY or ENCRYPTED_PASSWORD_SECURITY, the call to getConnection() may fail. (126317) ____________________________________________________________ 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: The default value of the maxRefreshInterval global property has been changed to 30 seconds from 8 seconds. (129196) ____________________________________________________________ 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) ____________________________________________________________ Type-4 Connectivity: SQLCODE204 (-204) error is reported when a local commit is called twice under a SysplexWLB environment. (125938) ____________________________________________________________ Type-4 Connectivity: A possible loss of precision for setString() when the target column is declared as Timestamp(p) where p > 9 has been resolved. (129809) ____________________________________________________________ Type-4 Connectivity: Driver code has been enhanced to also do client re-route upon receiving SQLCODE1224 (-1224). (130591) ____________________________________________________________ T4 Connectivity: When enableSysplexWLB is true, the password is null, and an API 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) ____________________________________________________________ Type-4 Connectivity: While targeting DB2 for LUW server, and driver property enableClientAffinitiesList is set to DB2BaseDataSource.YES(1), upon a communication failure, driver may continuously try to reconnect to the primary server. (129995) ____________________________________________________________ Type-4 Connectivity: Automatic client reroute (ACR) to other members of a datasharing group may not occur when Sysplex workload balancing (WLB) is enabled, resulting in SQLCODE4499 (-4499) when one member goes down. (133488) ____________________________________________________________ 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) ____________________________________________________________ Type-4 XA Connectivity: A XAException with SQLCODE4223 (-4223) along with a SQLCODE4474 (-4474) with the following message "Cannot change current package path when pre-existing package sets are in use on the connection." might be reported if the "currentPackagePath" property is set by the DB2Connection.reconfigureDB2Connection() method. (124318) ____________________________________________________________ Type-4 XA Connectivity: When connecting via DB2 Gateway, a XAException with XAER_PROTO error is thrown because JCC did not issue a local commit at the end of the local transaction and before a new global transaction. (129441) ____________________________________________________________ Type-4 XA Connectivity: A NullPointerException might occur on DB2XADataSource.getDB2TrustedXAConnection() when the "enableEndToEndMonitoringFeature" property is set to true. (126245) ____________________________________________________________ T4-XA connectivity: A performance enhancement was introduced increasing the speed of most of of the XA transaction API methods. (130398) ____________________________________________________________ Type-2 LUW Connectivity: JDBC driver does not return column metadata when running a Java stored procedure which returns an empty resultset. (123788) ____________________________________________________________ Type-2 LUW Connectivity: A NullPointerException may be thrown during execution when the DB2 server authentication mode is set to DATA_ENCRYPT and the driver securityMechanism property is set to ENCRYPTED_USER_PASSWORD_AND_DATA_SECURITY. (131147) ____________________________________________________________ T2 UW Connectivity: When sysplex is enabled on T2 UW connectivity, a null pointer exception is thrown. (109208) ____________________________________________________________ SQLJ: The sqlj command fails if the package name and class name of the SQLJ program are the same. (128079) | |
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 FP1 * **************************************************************** | |
Local Fix: | |
n/a | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 1 for Linux, UNIX, and Windows | |
Solution | |
Problems fixed after DB2 LUW V9.7 | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 23.07.2009 25.12.2009 13.10.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.7., 9.7.FP1 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.1 |