• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            db2構建存儲過程過程

            Posted on 2008-08-19 18:39 Prayer 閱讀(880) 評論(0)  編輯 收藏 引用 所屬分類: DB2
            db2構建存儲過程過程:先用自己的翻譯命令把.spp 文件翻譯生成.sqc文件,然后用預編譯命令編譯生成.c文件,然后用綁定命令生成綁定.bnd文件,然后從DB2_SQLROUTINE_COMPILER_PATH參數(shù)指定的文件中所描述的路徑中去尋找c的編譯器(window 下是vcvars32.bat,unix 下是sr_cpath文件),如果DB2_SQLROUTINE_COMPILER_PATH指定什么文件,則用默認的文件,win下是sr_cpath.mak(實例名SQLLIBfunctionroutine),unix下是sr_path(實例名/sqllib/function/routine/),
            編譯成功后生成.dll,并幫定到數(shù)據(jù)庫上,就成功了。

            spp-->.sqc->.c和.bnd->.dll(window下)
            .spp用的是純sql,開發(fā)速度快易閱讀,但是翻譯成的.sqc文件很累贅,沒有自己寫的.sqc精練,執(zhí)行效率也相應較低,java的IDE環(huán)境容易死掉。

            下面是我們的實例:

            AIX上db2沒有設置DB2_SQLROUTINE_COMPILER_PATH這個參數(shù),
            也就是說AIX上db2編譯存儲的時候用的參數(shù)是值,就是
            實例名/sqllib/function/routine/sr_cpath 這個文件
            sr_cpath的內容如下:
            bin/sh
            PATH=$PATH:/usr/vacpp/bin
            PATH=$PATH:/usr/ibmcxx/bin
            PATH=$PATH:/usr/lpp/xlC/bin
            export PATH

            就是設置AIX上的編譯路徑,sr_cpath的功能就像是我們win上vcvars32.bat。
            你可以在window的機器上的:”實例名SQLLIBfunctionroutinesqlproc數(shù)據(jù)庫名模式名“下找到編譯好的*.dll文件還有一些中間文件.sqc和c。
            再看一下.log文件,里面就有整個編譯的過程,就知道在window下db2編譯存儲過程的整個步驟了。
            這個.log文件也可以在AIX上相應的位置找到,通過這個文件就可以知道在AIX上用的是什么編譯指令來編譯你的存儲過程了。
            也可以看到B2_SQLROUTINE_COMPILER_PATH這個參數(shù)的內容。

            所以我估計在AIX上可以成功編譯,就是就是裝了一些c的編譯軟件,所以編譯的時候db2用sr_cpath的內容搜索c編譯器的位置就可以找到了。

            在hp上也有這個文件其內容是
            #!/bin/sh
            PATH=/opt/aCC/bin:$PATH
            # PATH=$PATH:/opt/ansic/bin
            export PATH

            在.log文件找到了編譯的指令:
            aCC +DAportable +a1 +z -ext -I/db2inst/db2inst1/sqllib/include P0538300.c -b -o P0538300 -L/db2inst/db2inst1/sqllib/lib -ldb2
            db2就會在sr_cpath所指定的路進去找aCC這編譯的文件,aCC是hp自己的c++編譯器。但是在這邊hp機器上沒有找到sr_cprog指定的c++編譯器aCC。不過在hp上還有一個c的編譯文件ld ,我編的一個hello程序就是用他編譯通過的。

            注:我編譯的時候還是用cc命令編譯的,shell會根據(jù)當前系統(tǒng)的編譯器安裝情況來決定cc編譯指令調用的是那個編譯器(可能是一個變量)。
            中文字幕日本人妻久久久免费| 777久久精品一区二区三区无码| 狠狠色噜噜色狠狠狠综合久久| 亚洲AV无码久久精品蜜桃| 久久久久久久97| 久久综合色之久久综合| 久久综合噜噜激激的五月天| 日本精品久久久久中文字幕| 99久久香蕉国产线看观香| 丁香五月网久久综合| 久久免费看黄a级毛片| 亚洲精品高清久久| 日产精品99久久久久久| 久久无码国产| 99久久综合狠狠综合久久止| 伊人久久大香线蕉综合热线| 99麻豆久久久国产精品免费| 无码人妻精品一区二区三区久久久 | 亚洲第一永久AV网站久久精品男人的天堂AV | 中文字幕亚洲综合久久2| 久久伊人精品一区二区三区| 欧美亚洲另类久久综合| WWW婷婷AV久久久影片| 人妻无码精品久久亚瑟影视| 欧美精品福利视频一区二区三区久久久精品| 2019久久久高清456| 欧美精品九九99久久在观看| 久久精品成人欧美大片| 国产激情久久久久影院| 97久久精品国产精品青草| 亚洲精品午夜国产VA久久成人| 亚洲精品国精品久久99热| 久久毛片免费看一区二区三区| 国产精品无码久久四虎| 国产精品gz久久久| 久久国产美女免费观看精品| 狠狠久久综合伊人不卡| 久久久久黑人强伦姧人妻| 久久青青草原精品国产不卡| 精品久久久久久久久久久久久久久 | 久久有码中文字幕|