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 | |
| 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 |
|