home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
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 IC76350 Status: Closed

PRECOMPILE COMMAND WITH PREPROCESSOR OPTION FAILS WITH SQL0104N IF INCLUDE
STATEMENT CONTAINS A TAB (T) CHARACTER.

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
PRECOMPILE command with PREPROCESSOR option fails with SQL0104N 
if INCLUDE statement contains a tab (\t) character. 
The following scenario illustrates the steps to cause this 
problem. 
 
1. Create a source (sqc) and a header file like as below; 
 
test.sqc : note INCLUDE<\t>myheader 
----------------------------------- 
EXEC SQL INCLUDE    myheader; 
----------------------------------- 
 
myheader.h 
----------------------------------- 
EXEC SQL BEGIN DECLARE SECTION; 
  char v1 [10]; 
EXEC SQL END DECLARE SECTION; 
----------------------------------- 
 
2. Precompile the source file with preprocessor option. 
 
$ db2 connect to sample 
$ db2 prep test.sqc preprocessor "'cc -P -I. 
-I${HOME}/sqllib/include'" 
 
LINE    MESSAGES FOR test.sqc 
------ 
---------------------------------------------------------------- 
---- 
        SQL0060W  The "C" precompiler is in progress. 
    1   SQL0104N  An unexpected token "END-OF-STATEMENT" was 
found 
                  following "INCLUDEmyheader".  Expected tokens 
may include: 
                  "JOIN <joined_table>".  SQLSTATE=42601
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users who use PRECOMPILE command with PREPROCESSOR option.   * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* PRECOMPILE command with PREPROCESSOR option fails with       * 
* SQL0104N if INCLUDE statement contains a tab (\t) character. * 
* The following scenario illustrates the steps to cause this   * 
* problem.                                                     * 
*                                                              * 
* 1. Create a source (sqc) and a header file like as below;    * 
*                                                              * 
* test.sqc : note INCLUDE<\t>myheader                          * 
* -----------------------------------                          * 
* EXEC SQL INCLUDE    myheader;                                * 
* -----------------------------------                          * 
*                                                              * 
* myheader.h                                                   * 
* -----------------------------------                          * 
* EXEC SQL BEGIN DECLARE SECTION;                              * 
*   char v1 [10];                                              * 
* EXEC SQL END DECLARE SECTION;                                * 
* -----------------------------------                          * 
*                                                              * 
* 2. Precompile the source file with preprocessor option.      * 
*                                                              * 
* $ db2 connect to sample                                      * 
* $ db2 prep test.sqc preprocessor "'cc -P -I.                 * 
* -I${HOME}/sqllib/include'"                                   * 
*                                                              * 
* LINE   MESSAGES FOR test.sqc                                 * 
* ------ --------------------------------------------          * 
*        SQL0060W  The "C" precompiler is in progress.         * 
*     1  SQL0104N  An unexpected token "END-OF-STATEMENT" was  * 
*        found following "INCLUDEmyheader".  Expected tokens   * 
*        may include: "JOIN <joined_table>".  SQLSTATE=42601   * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Please upgrade to V9.7 FixPack 5 or later.                   * 
****************************************************************
Local Fix:
Please replace tab characters in INCLUDE statement with white 
space manually.
available fix packs:
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 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
This problem is first fixed in DB2 V9.7 FixPack 5.
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
11.05.2011
19.01.2012
19.01.2012
Problem solved at the following versions (IBM BugInfos)
9.7.FP5
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.5 FixList