home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC66124 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.7 FP2

product:
DB2 CONNECT / DB2CONNCT / 970 - DB2
Problem description:
__________________________________________________________ 
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.7 Fixpack 2                                    * 
****************************************************************
Local Fix:
n/a
available fix packs:
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Problems fixed in DB2 LUW V9.7 Fixpack 2
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
05.02.2010
23.04.2010
14.05.2010
Problem solved at the following versions (IBM BugInfos)
9.7.FP2
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.2 FixList