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

            db2構建存儲過程過程

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

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

            下面是我們的實例:

            AIX上db2沒有設置DB2_SQLROUTINE_COMPILER_PATH這個參數,
            也就是說AIX上db2編譯存儲的時候用的參數是值,就是
            實例名/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數據庫名模式名“下找到編譯好的*.dll文件還有一些中間文件.sqc和c。
            再看一下.log文件,里面就有整個編譯的過程,就知道在window下db2編譯存儲過程的整個步驟了。
            這個.log文件也可以在AIX上相應的位置找到,通過這個文件就可以知道在AIX上用的是什么編譯指令來編譯你的存儲過程了。
            也可以看到B2_SQLROUTINE_COMPILER_PATH這個參數的內容。

            所以我估計在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會根據當前系統的編譯器安裝情況來決定cc編譯指令調用的是那個編譯器(可能是一個變量)。
            精品国产婷婷久久久| 欧美熟妇另类久久久久久不卡| 久久久久久夜精品精品免费啦| 97久久国产综合精品女不卡| 99精品国产99久久久久久97| 日韩一区二区久久久久久| 精品国产婷婷久久久| 亚洲中文字幕无码久久2020| 久久精品男人影院| 国产精品亚洲综合久久| 2021久久国自产拍精品| 久久久久国产| 久久久亚洲欧洲日产国码aⅴ| 久久人人爽人人澡人人高潮AV| 亚洲中文精品久久久久久不卡| 欧美激情精品久久久久| 久久久久亚洲av综合波多野结衣 | 久久久一本精品99久久精品88| 9191精品国产免费久久| 亚洲国产精品无码久久久蜜芽 | 国产成人综合久久久久久| 思思久久精品在热线热| 国产综合精品久久亚洲| 久久99中文字幕久久| AV无码久久久久不卡蜜桃| 久久久久亚洲AV无码专区网站| 国产精品久久久久影视不卡| 久久久久久精品久久久久| 久久亚洲av无码精品浪潮| 久久国产精品免费一区| 老司机国内精品久久久久| 99久久久精品| 国产精品久久久久9999| 久久亚洲国产成人精品性色| 伊人久久大香线蕉亚洲| 久久久这里只有精品加勒比| 欧美与黑人午夜性猛交久久久| 久久99精品久久久久久不卡| 日韩精品国产自在久久现线拍| 久久无码av三级| 91精品国产91久久久久久|