home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
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
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC61553 Status: Geschlossen

COMMAS IN STRING VALUES FOR ARRAYS ARE NOT RESPECTED BY CLP IN THE PARSING

Produkt:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problembeschreibung:
The following scenario is triggering a -104 error because the 
CLP code is not properly handling commas when parsing array 
elements. 
 
create TYPE VARIABLE_VALUES AS VARCHAR(1200) ARRAY[100] 
create procedure TEST1( 
     IN VARIABLES VARIABLE_VALUES ) 
LANGUAGE SQL 
 
BEGIN ATOMIC 
END@ 
 
When the procedure with a comma in the first array element is 
called, getting the following error : 
 
call TEST1( ARRAY[ '${email/attachments}=d:/tmp/a.a, 
d:/tmp/b.b', '${email/sender}= jpparkin@ca.ibm.com' ] ) 
SQL0104N  An unexpected token "ARRAY[" was found following "". 
Expected tokens may include:  "<name>".  SQLSTATE=42601 
 
If the comma out of the string value is left out, then the SQL 
works. 
 
call TEST1( ARRAY[ '${email/attachments}=d:/tmp/a.a d:/tmp/b.b', 
'${email/sender}= jpparkin@ca.ibm.com' ] ) 
 
  Return Status = 0
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All db2 users which are using array element values with      * 
* comma as a part inside stored procedure.                     * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* The following scenario is triggering a -104 error because    * 
* the                                                          * 
* CLP code is not properly handling commas when parsing array  * 
*                                                              * 
* elements.                                                    * 
*                                                              * 
* create TYPE VARIABLE_VALUES AS VARCHAR(1200) ARRAY[100]      * 
*                                                              * 
* create procedure TEST1(                                      * 
*     IN VARIABLES VARIABLE_VALUES )                           * 
* LANGUAGE SQL                                                 * 
*                                                              * 
* BEGIN ATOMIC                                                 * 
* END@                                                         * 
*                                                              * 
* When the procedure with a comma in the first array element   * 
* is                                                           * 
* called, getting the following error :                        * 
*                                                              * 
* call TEST1( ARRAY[ '${email/attachments}=d:/tmp/a.a,         * 
* d:/tmp/b.b', '${email/sender}= jpparkin@ca.ibm.com' ] )      * 
*                                                              * 
* SQL0104N  An unexpected token "ARRAY[" was found following   * 
* "".                                                          * 
* Expected tokens may include:  "<name>".  SQLSTATE=42601      * 
*                                                              * 
* If the comma out of the string value is left out, then the   * 
* SQL                                                          * 
* works.                                                       * 
*                                                              * 
* call TEST1( ARRAY[ '${email/attachments}=d:/tmp/a.a          * 
* d:/tmp/b.b','${email/sender}= jpparkin@ca.ibm.com' ] )       * 
*                                                              * 
*      Return Status = 0                                       * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to db2_v95fp5 or db2_v97fp1 or heigher releases.     * 
****************************************************************
Local-Fix:
Possible workaround: 
 
CREATE PROCEDURE caller() 
BEGIN 
   call TEST1( ARRAY[ '${email/attachments}=d:/tmp/a.a, 
d:/tmp/b.b', '${email/sender}= jpparkin@ca.ibm.com' ] ); 
END 
 
CALL caller()
verfügbare FixPacks:
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

Lösung
db2_v95fp5 contains the fix of this issue. After this fix, user 
could use comma under string elements of array inside a stored 
procedure. The sql command will execute successfully.
Workaround
keiner bekannt / siehe Local-Fix
Bug-Verfolgung
Vorgänger  : APAR is sysrouted TO one or more of the following: IC61662 
Nachfolger : 
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
18.06.2009
22.12.2009
22.12.2009
Problem behoben ab folgender Versionen (IBM BugInfos)
Problem behoben lt. FixList in der Version
9.5.0.5 FixList