Fixes are available
DB2 Version 9.5 Fix Pack 3b for Linux, UNIX, and Windows
DB2 Version 9.1 Fix Pack 7 for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 6 for Linux, UNIX and Windows
DB2 Version 9.5 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 9.1 Fix Pack 6a for Linux, UNIX and Windows
DB2 Version 9.5 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 9.1 Fix Pack 7a for Linux, UNIX and Windows
DB2 Version 9.5 Fix Pack 4a for Linux, UNIX, and Windows
DB2 Version 9.1 Fix Pack 8 for Linux, UNIX and Windows
DB2 Version 9.5 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.1 Fix Pack 9 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.1 Fix Pack 10 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.1 Fix Pack 11 for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 12 for Linux, UNIX and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows
APAR status
Closed as program error.
Error description
Setting the JCC property downgradeHoldCursorsUnderXA=true is closing the cursor for XA local transactions. This would result in the message "Invalid operation: result set is closed. ERRORCODE=-4470, SQLSTATE=null". One scenario where -4470 would be returned is when the application is working with multiple resultsets. 1) Application obtains an XA connection and sets: downgradeHoldCursorsUnderXA=true resultsetholdability=1 (HOLD_CURSORS_OVER_COMMIT) 2) Open a held cursor C1 with large number of rows that starts a local transaction 3) Read one row from it. 4) Open another held cursor C2 with small number of rows. 5) Read all the rows from C2 ---> This will cause the COMMIT to flow which ends the local transaction started by C1. 6) Read another row from C1 ---> This makes the driver to start a new local transaction and since downgradeHoldCursorsUnderXA=true is set we close all the cursors open on that connection before reading the next row, thus causing it to fail with -4470 result set is closed. Note this APAR has no effect for XA global transactions.
Local fix
Use JCC T2 driver by specifying a JDBC URL with no hostname or IP address such as "jdbc:db2:sample" where sample is the name of the database.
Problem summary
See PROBLEM DESCRIPTION.
Problem conclusion
Problem was first fixed in JCC driver included with v9.5 FP1. At minium this fix should be applied on the client side.
Temporary fix
See LOCAL FIX.
Comments
APAR Information
APAR number
JR29617
Reported component name
DB2 UDB ESE WIN
Reported component ID
5765F4101
Reported release
950
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-06-19
Closed date
2009-03-05
Last modified date
2009-03-05
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
DB2 UDB ESE WIN
Fixed component ID
5765F4101
Applicable component levels
R810 PSN
UP
R820 PSN
UP
R910 PSN
UP
R950 PSN
UP
Document Information
Modified date:
05 March 2009