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

WITH BLOCKING ENABLED, COMMIT WILL INVALIDATE ANY LOCATORS IN FETCHED
BLOCK WHEN USING CURSOR DEFINED WITH HOLD

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
If blocking is enabled on a statement defined using WITH HOLD, 
and the application 
issues a commit, any locators in the fetched blocks are 
invalidated. 
This behavior has been documented in following URL: 
 
 
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?t 
opic=/com.ibm.db2.luw.apdv.cli.doc/doc/c0007842.html 
 
 
 
A similar APAR IZ32371 was created for SAP.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* If blocking is enabled on a statement, and the application   * 
* issues a commit, any locators in the fetched blocks are      * 
* invalidated.                                                 * 
* This behavior has been documented in following URL:          * 
* http://db2id.torolab.ibm.com/v9r5/wave2/index.jsp?topic=/com.i 
*                                                              * 
* A similar APAR IZ32371 was created for SAP.                  * 
*                                                              * 
* ERROR DESCRIPTION:                                           * 
* Customer running V95 fixpak 4 fetches LOB data and after     * 
* commit                                                       * 
* for a cursor that is defined WITH HOLD receives SQL0423N.    * 
*                                                              * 
* The cli trace will show fetches working until it hits the    * 
* COMMIT, fetches following the COMMIT receive the SQL0423N.   * 
* See:                                                         * 
*                                                              * 
* 1250634603.408370 - 08/18/2009 18:30:03.408370] SQLEndTran(  * 
* fHandleType=SQL_HANDLE_DBC, hHandle=0:1, fType=SQL_COMMIT )  * 
* [1250634603.416322 - 08/18/2009 18:30:03.416322] ---> Time   * 
* elapsed - +2.656000E-003 seconds                             * 
* [1250634603.418566 - 08/18/2009 18:30:03.418566] ( COMMIT    * 
* REQUESTED=1 )                                                * 
* [1250634603.422887 - 08/18/2009 18:30:03.422887]             * 
* sqlccsend( Handle - 15637760 )                               * 
* sqlccsend( ulBytes - 10 )                                    * 
* sqlccsend( ) rc - 0, time elasped - +2.800000E-005           * 
* sqlccrecv( )                                                 * 
* sqlccrecv( ulBytes - 54 ) - rc - 0, time elapsed -           * 
* +2.600000E-005                                               * 
* [1250634603.433043 - 08/18/2009 18:30:03.433043] ( COMMIT    * 
* REPLY                                                        * 
* RECEIVED=1 )                                                 * 
* [1250634603.437334 - 08/18/2009 18:30:03.437334]             * 
*                                                              * 
* [1250634603.439350 - 08/18/2009 18:30:03.439350] SQLEndTran( * 
* )                                                            * 
* [12                                                          * 
*                                                              * 
*                                                              * 
*                                                              * 
* [1250634604.108829 - 08/18/2009 18:30:04.108829] SQLGetData( * 
* )                                                            * 
* [1250634604.111133 - 08/18/2009 18:30:04.111133] <---        * 
* SQL_ERROR Time elapsed - +4.559400E-002 seconds              * 
*                                                              * 
* [1250634604.113348 - 08/18/2009 18:30:04.113348]             * 
* SQLGetDiagRec(                                               * 
* fHandleType=SQL_HANDLE_STMT, hHandle=1:1, iRecNumber=1,      * 
* pszSqlState=&00a35f64, pfNativeError=&0012f358,              * 
* pszErrorMsg=&00a3ddfc, cbErrorMsgMax=1000,                   * 
* pcbErrorMsg=&0012f356                                        * 
* )                                                            * 
* [1250634604.132567 - 08/18/2009 18:30:04.132567] ---> Time   * 
* elapsed - +2.215000E-003 seconds                             * 
* [1250634604.135848 - 08/18/2009 18:30:04.135848] (           * 
* iRowNumber=-1, iColumnNumber=-2 )                            * 
* [1250634604.142753 - 08/18/2009 18:30:04.142753]             * 
*                                                              * 
* [1250634604.144769 - 08/18/2009 18:30:04.144769]             * 
* SQLGetDiagRec(                                               * 
* pszSqlState="0F001", pfNativeError=-423,                     * 
* pszErrorMsg="[IBM][CLI                                       * 
* Driver][DB2/LINUXX8664] SQL0423N Locator variable "1" does   * 
* not                                                          * 
* currently represent any value. SQLSTATE=0F001                * 
*                                                              * 
* ", pcbErrorMsg=122 )                                         * 
* [1250634604.154881 - 08/18/2009 18:30:04.154881] <---        * 
* SQL_SUCCESS Time elapsed - +4.153300E-002 seconds            * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to Version 9.7 Fixpak 1                              * 
*                                                              * 
* To change the behaviour the new registry variable            * 
* DB2_BLOCKING_WITHHOLD_LOBLOCATOR must be set.  See:          * 
*                                                              * 
*                                                              * 
* db2set DB2_BLOCKING_WITHHOLD_LOBLOCATOR=FALSE                * 
*                                                              * 
*                                                              * 
* This must be followed via a                                  * 
*                                                              * 
*                                                              * 
* db2stop                                                      * 
*                                                              * 
* db2start                                                     * 
****************************************************************
Local Fix:
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 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 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
Problem first fixed in Version 9.7 Fixpak 1.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
09.09.2009
05.01.2010
06.04.2010
Problem solved at the following versions (IBM BugInfos)
9.7.
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.1 FixList