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 IC61413 Status: Closed

DOCUMENTATION OF CHANGES IN IBM DATA SERVER DRIVER FOR JDBC AND SQLJ
VERSION 3.57.110/4.7.112 FOR DB2 LUW V9.5 FIXPACK 5

product:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problem description:
============================================================ 
Documentation of changes in IBM Data Server Driver for JDBC 
and SQLJ version jcc 3.57.110/4.7.112 for DB2 LUW V9.5 
Fixpack 5. The previous version was 3.53.95/4.3.111 for DB2 
LUW V9.5 Fixpack 4. 
____________________________________________________________ 
All Connectivity Types: During dynamic execution of a SQLJ 
application, the line feed, carriage return, and space 
characters are being incorrectly removed from the SQL 
statement.  This may cause problems if any embedded SQL 
string contains formatting that needs to be preserved. 
(109182) 
____________________________________________________________ 
T4 Connectivity: A disconnect exception is thrown when 
setting multiple Blobs via setObject() against Callable 
statements. (109976) 
____________________________________________________________ 
All Connectivity Types: A -805 SQLException is thrown when 
both currentPackagePath and currentFunctionPath DataSource 
properties are set. (122488) 
____________________________________________________________ 
All Connectivity Types: Setting the optimistic locking value 
to com.ibm.db2.jcc.DB2Statement.RETURN_OPTLOCK_COLUMN_ALWAYS 
or to com.ibm.db2.jcc.DB2Statement. 
RETURN_OPTLOCK_COLUMN_NO_FALSE_NEGATIVES are always ignored 
for prepared statements. (123487) 
____________________________________________________________ 
All Connectivity Types: 
Previously, the driver treats VARCHAR and Clob as 
incompatible data types for in-out parameters. For an in-out 
parameter, if it registers the out parameter as Clob, and 
uses setString for input, the driver throws an SQLException 
with message "The jdbcType 12 does not match between the set 
method and the registerOutParameter method.".  Starting 
from 3.57/4.7, the driver will make VARCHAR and Clob 
compatible input output types. (109965) 
____________________________________________________________ 
All Connectivity Types: If QueryTimeOut is set and 
an exception with -4499 occurs, Statement.cancel() 
may cause a NullPointerException. (118002) 
____________________________________________________________ 
All Connectivity Types: If the target server is DB2 LUW 
and client reroute occurs, the current schema may not be 
set on the alternative server, causing a 
SQLException with error code -204. (119922) 
____________________________________________________________ 
All Connectivity Types: When calling a stored procedure, 
if the output parameter is not set and 
CallableStatement.getXXX() is called, the driver throws an 
exception with message "Invalid operation: wasNull() called 
with no data retrieved." This message is not clear to the 
user. It has been changed to "No data retrieved for OUT 
parameter".  (121668) 
____________________________________________________________ 
All Connectivity Types: If the target server is DB2 LUW 
and the DataSource property 
"retrieveMessagesFromServerOnGetMessage" sets to true, 
SQLException.getMessage() may return garbage characters 
if locales are Arabic locales ar-ae and ar_de. (122005) 
 
____________________________________________________________ 
All Connectivity Types: 
When Statement.cancel() gets called (this may be called 
explicitly or get triggered by Statement.setQueryTimeou()t), 
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: 
The autocommit may not be flown in the following case: 
autocommit is true, and the driver has early close of the 
last resultset associated with the statement. (128476) 
____________________________________________________________ 
All Connectivity Types: 
If an application first connects to DB2 LUW and calls 
DB2Connection.getJccSpecialRegisterProperties(), then the 
same thread connects to DB2 zOS and calls the same method, 
the driver will throw a SQLException with error code -104. 
(128970) 
____________________________________________________________ 
SQLJ: All Connectivity Types: When bindOption ACTION ADD is 
specified to the SQLJ Binder it does not work as 
documented. ACTION ADD means the package should be bound if 
it does not exist. Instead SQLJ Binder performs the action 
as if ACTION REPLACE is specified. (118559) 
____________________________________________________________ 
SQLJ: All Connectivity Types: 
An out-of-memory error occurs from the SQLJ Runtime when 
running a customized SQLJ application. Under some 
conditions, an SQL statement is not being closed when it 
should have been. (125745) 
____________________________________________________________ 
Type-2 LUW Connectivity: When running inside a stored 
procedure, the JCC type 2 LUW driver does not return column 
name information if the running Java stored procedure 
returns an empty ResultSet. (123788) 
____________________________________________________________ 
Type-2 LUW Connectivity: A memory leak occurs with the 
JCC type 2 LUW driver running Java stored procedures on the 
server side. (124906) 
____________________________________________________________ 
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) 
____________________________________________________________ 
All Connectivity Types: JCC driver fails to cross convert 
numeric types with leading spaces for input string data. 
For example, PreparedStatement.setString(4, " 00006.35") 
contains a data string with a leading space, resulting in 
an SQLException (-99999) (SQLCODE99999) "Invalid data 
conversion". (117915) 
____________________________________________________________ 
All Connectivity Types: JCC driver checks for a license 
even though the application is trying to connect to a 
server via a DB2 gateway.  The driver does not perform this 
check any more. (121546) 
____________________________________________________________ 
Type-4 XA Connectivity: In a multi-threaded and heavy load 
XA environment, when transaction manager does XA(start) and 
XA(end) using one XAResource object, and XA(prepare) and 
XA(commit or rollback) using a different XAResource object, 
the driver may throw XAER_RMFAIL, XAER_DUP, or XAER_PROTO 
error. This error will not occur when transaction manager 
uses the same XAResource object for all XA operations per 
transaction. (109568) 
____________________________________________________________ 
Type-4 XA Connectivity: If an application is trying to open 
a XA connection and the DB2 server does not support XA, the 
driver should throw an exception immediately 
instead of letting the application continue after 
connection. (116453) 
____________________________________________________________ 
Type-4 XA Connectivity: In a Sysplex environment, a 
XAException with SQLCODE4203 (-4203) is reported while 
resolving an indoubt transaction that can be on any of the 
data sharing members of the Sysplex group. (122265) 
____________________________________________________________ 
Type-4 XA Connectivity: Under Sysplex WLB environment, if 
an application or WebSphere is trying to commit an indoubt 
transaction from a specific member that is down, the driver 
might throw a XAER_RMFAIL XAException instead of a 
XA_RETRY XAException. This will prevent the application or 
WebSphere to retry the commit action.  The driver will now 
throw XAER_RETRY instead of XAER_RMFAIL to indicate it need 
retry the operation. (122451) 
____________________________________________________________ 
Type-4 XA Connectivity: A NullPointerException will be 
thrown if XAResource.forget() is called twice with the 
same XID. (123668) 
____________________________________________________________ 
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) 
____________________________________________________________ 
Type-4 XA Connectivity: A NullPointerException might occur 
on DB2XADataSource.getDB2TrustedXAConnection() when the 
"enableEndToEndMonitoringFeature" property is set to true. 
 
(126245) 
____________________________________________________________ 
All Connectivity: JCC driver code has been enhanced such 
that the driver will automatically retry execution upon 
receiving SQLCODE30002 (-30002) on 
java.sql.PreparedStatement's and java.sql.Statement's 
(116040) (120860) 
____________________________________________________________ 
All Connectivity: Commit is not flown when ResultSet.next() 
returns false and autoCommit is turned on and if 
property "queryCloseImplicit" is set to 
QUERY_CLOSE_IMPLICIT_YES(1).  This problem has been 
corrected. (122175) 
____________________________________________________________ 
Type-2 LUW Connectivity: An ArrayIndexOutOfBoundsException 
is encountered while calling a Java stored procedure that 
calls another stored procedure which returns Blobs and 
ResultSets containing Blobs. (123970) 
____________________________________________________________ 
Type-2 LUW Connectivity: ResultSetMetaData.isAutoIncrement() 
may return an incorrect result if the Java stored procedure 
is invoked from CLP.  This problem has been corrected. 
(104662) 
____________________________________________________________ 
All Connectivity Types: When connecting against DB2 for 
z/OS, locator based CLOBs encoded with the 943c codepage 
will cause unpredictable behavior.  Against v9.1, when 
progressive streaming is enabled, attempts to access a 
cp943c encoded Clob may not work property.  This issue has 
been resolved. (117719) 
____________________________________________________________ 
Type-4 and Type-2 LUW Connectivity: Executing a 
PreparedStatement which has XML parameters is noticeably 
slower in 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. 
(128593) 
____________________________________________________________ 
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-2 LUW Connectivity: When running inside a stored 
procedure, the JCC type 2 LUW driver does not return column 
name information if the running Java stored procedure 
returns an empty ResultSet. (123788) 
____________________________________________________________ 
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: 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) 
____________________________________________________________ 
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) 
____________________________________________________________ 
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. This problem has been resolved. 
(127128) 
____________________________________________________________ 
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)
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users of the IBM Data Server Driver for JDBC and SQLJ        * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to V9.5 Fixpack 5                                    * 
****************************************************************
Local Fix:
n/a
available fix packs:
DB2 Version 9.5 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 6a for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Problems fixed in DB2 LUW V9.5 Fixpack 5
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
08.06.2009
25.12.2009
25.12.2009
Problem solved at the following versions (IBM BugInfos)
9.5.FP5
Problem solved according to the fixlist(s) of the following version(s)
9.5.0.5 FixList