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

IF THERE IS A BINARY ZERO UTL_FILE WRITES CONTENTS OF THIS STRING ONLY UP
TO THE FIRST BINARY ZERO

product:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problem description:
If there is a binary zero in the string, UTL_FILE writes 
contents of this string only up to the first binary zero. 
 
Example: 
 
DECLARE outfile UTL_FILE.FILE_TYPE; 
DECLARE col1data varchar(20) for bit data; 
 
CREATE TABLE forbit (col1 varchar(20) for bit data)@ 
-- 'ABC E' where the 4th byte is null char 
INSERT INTO forbit values (x'4142430045')@ 
-- after the file has been opened/setup: 
 
OPEN testcurs; 
   FETCH from testcurs into col1data; 
CLOSE testcurs; 
--stores the column in a variable 
 
SET outfile = UTL_FILE.FOPEN( dirAlias, fileName, 'w' ); 
 
CALL UTL_FILE.PUT_LINE( outfile, col1data); 
 
--Now in the file, we only see "ABC", because we stop at null. 
However, we should see "ABC^@E" ('^@' represents the null 
terminator)
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users of UTL_FILE                                            * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* If there is a binary zero in the string, UTL_FILE writes     * 
* contents of this string only up to the first binary zero.    * 
*                                                              * 
* Example:                                                     * 
*                                                              * 
* DECLARE outfile UTL_FILE.FILE_TYPE;                          * 
* DECLARE col1data varchar(20) for bit data;                   * 
*                                                              * 
* CREATE TABLE forbit (col1 varchar(20) for bit data)@         * 
* -- 'ABC E' where the 4th byte is null char                   * 
* INSERT INTO forbit values (x'4142430045')@                   * 
* -- after the file has been opened/setup:                     * 
*                                                              * 
* OPEN testcurs;                                               * 
*    FETCH from testcurs into col1data;                        * 
* CLOSE testcurs;                                              * 
* --stores the column in a variable                            * 
*                                                              * 
* SET outfile = UTL_FILE.FOPEN( dirAlias, fileName, 'w' );     * 
*                                                              * 
* CALL UTL_FILE.PUT_LINE( outfile, col1data);                  * 
*                                                              * 
* --Now in the file, we only see "ABC", because we stop at     * 
* null.                                                        * 
* However, we should see "ABC^@E" ('^@' represents the null    * 
* terminator)                                                  * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to 10.1 FP1 or later                                 * 
****************************************************************
Local Fix:
available fix packs:
DB2 Version 10.1 Fix Pack 1 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 2 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 6 for Linux, UNIX, and Windows

Solution
Problem First Fixed in DB2 10.1 Fix Pack 1
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
13.06.2012
10.12.2012
10.12.2012
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
10.1.0.1 FixList
10.5.0.1 FixList