DB2 - Problembeschreibung
| Problem IC83957 | Status: Geschlossen |
SQL/PL SQLEXCEPTION HANDLER DOES NOT HANDLE SQL0973N CORRECTLY | |
| Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problembeschreibung: | |
When memory cannot be allocated at SQL executing in a stored
procedure, it returns a SQL0973N (-973). However, any
sqlexception handler does not
return any error because it fails to handle SQL0973N (-973) and
the subsequent processing is
successful unexpectedly.
Consider the following example:
update db cfg for testdb using APPL_MEMORY 2000
CREATE OR REPLACE PROCEDURE memtest
BEGIN
DECLARE var1 CLOB(2M);
DECLARE var2 CLOB(2M);
DECLARE var3 CLOB(2M);
CALL DBMS_OUTPUT.PUT_LINE('MEMTESTPROC');
END@
BEGIN
DECLARE SQLCODE INT;
DECLARE msg VARCHAR(1024);
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
GET DIAGNOSTICS EXCEPTION 1 msg = MESSAGE_TEXT;
CALL DBMS_OUTPUT.PUT_LINE('ERROR '||SQLCODE||' '||
NVL(msg,'NULL'));
END;
CALL memtest();
GET DIAGNOSTICS EXCEPTION 1 msg = MESSAGE_TEXT;
CALL DBMS_OUTPUT.PUT_LINE('OK '||SQLCODE||' '||
NVL(msg,'NULL'));
END@
----------------------------
Output:
OK 0 SQL0973N Not enough storage is available in the
"application shared" heap or stack to process the statement.
SQLSTATE=00000
In this case, even though the SQLCODE is non-zero, it is not
correctly mapped to the relevant SQLSTATE. This leads the
Exception handler to think that the statement was successful. | |
| Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * All * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 970 fixpack 7 * **************************************************************** | |
| Local-Fix: | |
| verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows | |
| Lösung | |
Problem is fixed in DB2 version 970 fixpack 7 | |
| Workaround | |
keiner bekannt / siehe Local-Fix | |
| Bug-Verfolgung | |
Vorgänger : APAR is sysrouted TO one or more of the following: IC87896 Nachfolger : | |
| Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 05.06.2012 29.01.2013 29.01.2013 |
| Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.0 | |
| Problem behoben lt. FixList in der Version | |
| 9.7.0.7 |
|