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 IC61662 Status: Geschlossen

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

Produkt:
DB2 FOR LUW / DB2FORLUW / 970 - 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:                                              * 
* This problem can occur in any environment for DB2.           * 
**************************************************************** 
* 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_v97fp1                                        * 
****************************************************************
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.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 6 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 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

Lösung
This problem is fixed in db2_v95fp5, db2_v97fp1 and later 
releases.
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
23.06.2009
22.12.2009
22.12.2009
Problem behoben ab folgender Versionen (IBM BugInfos)
Problem behoben lt. FixList in der Version
9.7.0.1 FixList