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 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
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 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 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 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 FixList