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

INTERLEAVE INSERTION IN NON-SEQUENTIAL ORDER INSERTS WRONG DATA IN COLUMN

Produkt:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problembeschreibung:
If cli driver is used to insert data into table of a database 
and sql_attr_interleaved_putdata is set, CLI will insert 
garbagedata into the table, if application is providing data in 
       non-sequential order for those columns for which 
DATA_AT_EXEC isset. 
 
        If interleaving is enabled, we can provide data 
in columns for which DATA_AT_EXEC is set using the combination 
of SQLParamData and SQLPutData in non-sequential order. But, 
CLI does not insertthe data in the intended column. For example 
: 
     Create a table whose columns are like : c1 
int, c2 clob(1K), c3 clob(1K), c4 clob(1K). 
       enable DATA_AT_EXEC for last 3 lob 
columns.       Now, give the data in the 
following order :        for C2 - AAAA, 
          for C4 - aaa, 
          again for C2 - AAAA, 
          and then for C3 - 11. 
 
          After insertion of data 
in the table , run the select query or Fetch the data from the 
table, the output will be as below :  C1  C2   C3 
C4     10, AAAAAAAA, aaa11, "" 
 
     For correct behaviour 
of CLI, the output should be:    10, AAAAAAAA, 11, aaa
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* This issue is reproducible in all environment supported by   * 
* db2cli. When user will try to insert interleaved data in     * 
* non-sequential order, wrong data will be inserted into       * 
* table.                                                       * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* If cli driver is used to insert data into table of a         * 
* database                                                     * 
* and sql_attr_interleaved_putdata is set, CLI will insert     * 
* garbagedata into the table, if application is providing data * 
* in                                                           * 
*        non-sequential order for those columns for which      * 
* DATA_AT_EXEC isset.                                          * 
*                                                              * 
*         If interleaving is enabled, we can provide data      * 
* in columns for which DATA_AT_EXEC is set using the           * 
* combination                                                  * 
* of SQLParamData and SQLPutData in non-sequential order. But, * 
* CLI does not insertthe data in the intended column. For      * 
* example                                                      * 
* :                                                            * 
*      Create a table whose columns are like : c1              * 
* int, c2 clob(1K), c3 clob(1K), c4 clob(1K).                  * 
*        enable DATA_AT_EXEC for last 3 lob                    * 
* columns.       Now, give the data in the                     * 
* following order :        for C2 - AAAA,                      * 
*           for C4 - aaa,                                      * 
*           again for C2 - AAAA,                               * 
*           and then for C3 - 11.                              * 
*                                                              * 
*           After insertion of data                            * 
* in the table , run the select query or Fetch the data from   * 
* the                                                          * 
* table, the output will be as below :  C1  C2   C3            * 
* C4     10, AAAAAAAA, aaa11, ""                               * 
*                                                              * 
*      For correct behaviour                                   * 
* of CLI, the output should be:    10, AAAAAAAA, 11, aaa       * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Give the column data in sequential order. Upgrade to v97fp1  * 
* or heigher version.                                          * 
****************************************************************
Local-Fix:
Give the column data in sequential order. v95fp5 or v97fp1 or 
heigher version fixes this issue.
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
db2_v95fp5, db2_v97fp1 or heigher releases fixes this issue. 
After the fix user can do interleave insertion in non-sequential 
order.
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
04.09.2009
22.12.2009
22.12.2009
Problem behoben ab folgender Versionen (IBM BugInfos)
9.7.FP1
Problem behoben lt. FixList in der Version
9.7.0.1 FixList