• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            DB2 預(yù)編譯器不能識(shí)別聲明部分中用戶定義的數(shù)據(jù)類型(typefef,#define macros),位于 EXEC SQL BEGIN DECLARE SECTION 和 EXEC SQL END DECLARE SECTION 語(yǔ)句之間。
            由于參數(shù)類型不同,使用用戶定義函數(shù)(UDF)(比如 ||、rawtohex、hextoraw,等等)開(kāi)發(fā)的應(yīng)用程序不能在 DB2 上編譯。

            問(wèn)題 1

            如果在 EXEC SQL BEGIN DECLARE SECTION 和 EXEC SQL END DECLARE SECTION 語(yǔ)句之間使用了用戶定義的數(shù)據(jù)類型(例如 C/C++ 中的 “typedef”)和宏(#define),那么 DB2 預(yù)編譯器在編譯這些程序時(shí)會(huì)遇到一些問(wèn)題。

            因此,如果將一個(gè)包含嵌入式 SQL 語(yǔ)句的文件(.sqC)傳遞到 db2 precompile 命令,則編譯時(shí)會(huì)提示出錯(cuò)。如清單 1 所示。

            注:
            此示例只是為了描述問(wèn)題并在編譯之后生成相應(yīng)的錯(cuò)誤,所以其形式非常簡(jiǎn)單。要重現(xiàn)此場(chǎng)景,可以執(zhí)行 db2 "create table test_table (dept int)" 命令創(chuàng)建一個(gè) “TEST_TABLE” 表。  

            考慮如下的 test1.sqC 文件:


            清單 1. test1.sqC
                           
            #include <stdio.h>

            #define LONGBIG long

            /*
            Or we can have a definition like:
            typedef long LONGBIG
            */

            EXEC SQL INCLUDE SQLCA;
            EXEC SQL BEGIN DECLARE SECTION;
                    LONGBIG col1_val;
            EXEC SQL END DECLARE SECTION;

            int main()
            {
                    EXEC SQL SELECT DEPT
                    INTO :col1_val
                    FROM TEST_TABLE;
                   
                    return 0;
            }      



            當(dāng)試圖使用 db2 prep 編譯 test1.sqC 文件時(shí),會(huì)得到以下錯(cuò)誤:


            清單 2. 預(yù)編譯 test1.sqC 的結(jié)果
                           
            db2 prep test1.sqC bindfile

            LINE    MESSAGES FOR test1.sqC
            ------  --------------------------------------------------------------------
                    SQL0060W  The "C++" precompiler is in progress.
               11   SQL0008N  The token "LONGBIG" found in a host variable
                              declaration is not valid.
               18   SQL4942N  The statement selects an incompatible data type
                              into host variable ":col1_val".  SQLSTATE=42806
                    SQL0095N  No bind file was created because of previous
                              errors.
                    SQL0091W  Precompilation or binding was ended with "3"
                              errors and "0" warnings.

            [db2inst1]/users/ganesh_gosavi/mig1/issues/NULL_issue>
                  


            出現(xiàn)這些錯(cuò)誤是因?yàn)?DB2 預(yù)編譯器不能解析一些 typedef 和宏,這些 typedef 和宏用于通過(guò) EXEC SQL BEGIN DECLARE SECTION 和 EXEC SQL END DECLARE SECTION 語(yǔ)句定義的聲明部分
            九九99精品久久久久久| 久久综合丝袜日本网| 久久久久免费看成人影片| 亚洲精品美女久久777777| 久久人人妻人人爽人人爽| 久久精品国产2020| 国产欧美一区二区久久| 久久久久中文字幕| 国内精品久久久久久久coent| 亚洲欧美精品一区久久中文字幕| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久久精品人妻一区二区三区四| 99精品久久精品一区二区| 欧美黑人激情性久久| 国内精品久久久久久久久| 一本久久免费视频| 久久99精品国产99久久| 日本精品一区二区久久久| 欧美喷潮久久久XXXXx| 久久免费视频网站| 亚洲精品WWW久久久久久| 久久国产亚洲高清观看| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 日日躁夜夜躁狠狠久久AV| 99久久精品九九亚洲精品| 日韩人妻无码精品久久久不卡| 久久精品国产福利国产秒| 青青热久久国产久精品 | 热久久最新网站获取| 国产精品青草久久久久婷婷| 欧美丰满熟妇BBB久久久| 久久99精品久久久久久9蜜桃| 久久妇女高潮几次MBA| 国产精品99久久久久久董美香| 久久香蕉超碰97国产精品| 欧美午夜A∨大片久久| 久久精品成人免费网站| 久久天堂AV综合合色蜜桃网| 色妞色综合久久夜夜| 久久精品国产日本波多野结衣| 四虎国产精品免费久久久|