• <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)系 :: 聚合  :: 管理

            DB2UDB命令行處理器介紹(1)

            Posted on 2010-01-28 23:16 Prayer 閱讀(306) 評論(0)  編輯 收藏 引用 所屬分類: DB2

            DB2 UDB 命令行處理器(CLP)是一個接口,通過這個接口可以方便地 DB2 UDB 函數(shù)。CLP 接受來自 DB2 命令行的命令或 SQL 語句。在基于 Linux 和 UNIX 的系統(tǒng)中,這個命令行是 DB2 實例的命令行。在 Windows 操作系統(tǒng)中,它是啟用了 CLP 命令窗口的命令行;在這種情況下,必須先(從普通命令窗口)運行 db2cmd 命令來啟動 DB2 命令行環(huán)境。

            db2 命令可以啟動命令行處理器。CLP 包括前端進程(表示用戶界面)和后端進程,可以用它們來維護數(shù)據(jù)庫連接。每次 db2 調(diào)用都啟動新的前端進程;第一次 db2 調(diào)用要啟動后端進程。擁有相同父進程的所有前端進程都是由一個后端進程提供服務(wù)的,因此它們共享一個數(shù)據(jù)庫連接。QUIT 命令停止命令行處理器,但是不刪除關(guān)聯(lián)的后端進程;要刪除關(guān)聯(lián)的后端進程,需要發(fā)出 TERMINATE 命令。建議在停止實例(STOP DATABASE MANAGER 或 db2stop)之前執(zhí)行 TERMINATE 命令;否則,后端進程會保持一個不再可用的實例連接(Attachment)。

            db2 命令

            可以用下列三種模式之一啟動 CLP:

            命令模式。在這種模式下,每個命令或 SQL 語句必須添加前綴 db2。在 Windows 操作系統(tǒng)中,DOSKEY 命令允許使用 Up Arrow(向上箭頭)鍵在會話的命令歷史記錄上滾動,并重新發(fā)出命令,而無需再次輸入該命令。還可以創(chuàng)建包含 DB2 命令或 SQL 語句的命令文件,并像運行其他任何命令文件那樣運行該文件。例如,名為 myfile.cmd 的文件包含下列代碼:

            db2start

            db2 connect to sample

            db2 select * from org

            db2 terminate

            db2stop

            可以通過從 Windows DB2 命令提示符發(fā)出 myfile 來運行該文件。

            交互輸入模式??梢酝ㄟ^發(fā)出 db2 命令同時不指定其他任何東西來啟動該模式。交互輸入模式的特點在于默認 db2 => 命令提示符。從該提示符下發(fā)出的命令和語句沒有前綴 db2:

            elk /home/melnyk>db2

            ...

            db2 => connect to sample

            Database Connection Information

            Database server= DB2/6000 8.2.0

            SQL authorization ID = MELNYK

            Local database alias = SAMPLE

            db2 => select * from org

            DEPTNUMB DEPTNAME MANAGER DIVISION LOCATION

            - -

            10 Head Office160 CorporateNew York

            15 New England 50 EasternBoston

            20 Mid Atlantic10 EasternWashington

            38 South Atlantic30 EasternAtlanta

            42 Great Lakes100 MidwestChicago

            51 Plains 140 MidwestDallas

            66 Pacific270 WesternSan Francisco

            84 Mountain 290 WesternDenver

            8 record(s) selected.

            db2 => terminate

            DB20000IThe TERMINATE command completed successfully.

            elk /home/melnyk>

            現(xiàn)在可以定制該提示符,并當前會話的命令歷史記錄。要退出交互輸入模式,可以返回操作系統(tǒng)提示符,然后發(fā)出 QUIT 命令或 TERMINATE 命令。

            批處理模式。該模式允許運行命令腳本、文本文件中的 DB2 命令或 SQL 語句,這些腳本、文本文件按其執(zhí)行順序包含命令和語句。在該例中,可以在 db2 命令中使用 -f 選項標記(參見表 1)來指定命令腳本的名稱。例如,名為 myscript.db2 的文件包含下列代碼:

            !db2start;

            connect to sample;

            select * from org;

            terminate;

            可以通過從 DB2 命令提示符發(fā)出 db2 -tf myscript.db2 來運行該文件。注意這個文件與上面顯示的 myfile.cmd 在內(nèi)容上的差別。在該例中,文件中的命令和語句沒有前綴 db2。每個命令或語句以分號結(jié)尾;實際上,通過在 db2 命令中指定 -t 選項標記,我們指示 CLP 使用分號作為語句終止字符。您可能還注意到 db2start 命令前的感嘆號,這說明該命令不是 CLP 命令,而是從操作系統(tǒng)提示符發(fā)出的系統(tǒng)命令。這個感嘆號是換碼符,允許您從交互輸入模式或批處理模式發(fā)出操作系統(tǒng)命令。

            圖 1 顯示了完整的 db2 命令語法。選項包括用來配置 CLP 會話的一個或多個選項標記的規(guī)范(表 1)、要執(zhí)行的 DB2 命令或 SQL 語句、一般 CLP 幫助請求(?),或者與特定命令相關(guān)的幫助文本(? phrase)、SQLCODE(? message)、SQLSTATE(? sqlstate)或類代碼(? class-code)。您還可以請求 CLP 選項的當前設(shè)置(? options),或者請求關(guān)于閱讀在線幫助語法表的信息(? help)。下例說明了其中一些選項:

            db2 -tvf myscript.db2 => option flags

            db2 connect to sample => SQL statement

            db2 list tables for user=> DB2 command

            db2 ? => general CLP help

            db2 ? options => current CLP options settings

            db2 ? help=> help for syntax online help

            db2 ? backup=> help for a specific DB2 command

            db2 ? sql0117N=> help for a specific SQLCODE

            db2 ? 42501 => help for a specific SQLSTATE

            db2 ? 01=> help for a specific class code

            下面是需要記住的與 db2 命令有關(guān)的其他一些要點:

            問號(?)與后面的文本字符串之間至少要隔開一個空格。

            CLP 將前綴為兩個連字符的所有文本字符串都解釋為注釋。

            在 CLP 命令模式或交互輸入模式下,可以將反斜線字符(“)用作行連續(xù)字符。CLP 遇到行連續(xù)符時,它會讀取下一行并將兩行連接起來。在 Windows 操作系統(tǒng)中,行連續(xù)字符生成臨時 db2 (cont.) => 提示符。

            如果 db2 命令返回的消息文本過長,那么可以考慮使用“more”分屏顯示(如果可以在操作系統(tǒng)中使用的話),或?qū)⑤敵鲋囟ㄏ虻揭粋€文件中。例如:

            db2 "? sql0510" more

            db2 "? SQL0510" > sql0510n.out

            也可以使用 -r 或 -z CLP 選項將輸出重定向到文件中(參見表 1)。例如:

            db2 -r mydata“orglist.txt "select * from org"

            建議在基于 Linux 和 UNIX 的系統(tǒng)中使用雙引號分隔符。如果在 CLP 命令模式下使用了特殊字符,那么這些特殊符號將由操作系統(tǒng) shell 解釋。這可能會生成意想不到的結(jié)果,除非使用雙引號或換碼符(如反斜線字符 “)。例如,在 AIX Korn shell 環(huán)境中執(zhí)行下列命令時,如下所示:

            db2 select * from employee where edlevel > 18

            該命令被解釋為“選擇 employee 表中所有 edlevel 大于 18 的記錄,并將輸出重定向到名為‘18’的文件”。下列命令將返回正確的輸出:

            db2 "select * from employee where edlevel > 18"

            db2 select “* from employee where edlevel “> 18

            CLP 將“NULL”(以大寫字符指定)識別為空字符串。例如:

            db2 update database configuration using mirrorlogpath NULL

            圖 1. db2 命令的語法

            表 1. CLP 選項標記

            選項

            描述(默認)

            -a

            顯示 SQLCA 數(shù)據(jù)。(OFF)

            -c

            自動提交 SQL 語句。(ON)

            -e{cs}

            將 SQLCODE 或 SQLSTATE 數(shù)據(jù)寫入標準輸出。(OFF)

            -f filename

            接受指定文件(命令腳本)中的輸入。如果其他選項與 -f 選項一起指定,必須最后指定 -f 選項。(OFF)

            -l filename

            將日志記錄寫入指定文件。該文件包含已執(zhí)行命令和語句的歷史記錄。如果該文件已經(jīng)存在,則新的信息會添加在該文件的后面。如果其他選項與 -l 選項一起指定,必須最后指定 -l 選項。(OFF)

            -n

            保留分隔符號內(nèi)換行字符前的所有尾部空格字符。例如:

            create table t1 (c1 varchar(30));

            insert into t1 values (‘123

            789‘);

            three blanks spaces follow ‘123

            update command options using n on;

            insert into t1 values (‘123

            789‘);

            select * from t1;

            C1

            123 789

            123 789

            2 record(s) selected.

            -n 選項必須與 -t 選項一起使用。(OFF)

            -o

            將數(shù)據(jù)和消息都寫入標準輸出。(ON)

            -p

            處于 CLP 交互模式下時顯示提示符。(ON)

            -r filename

            將輸出(消息和錯誤代碼除外)重定向到指定的文件。如果該文件已經(jīng)存在,則將新的消息添加到文件的后面。如果 -a 選項與 -r 選項一起指定,那么將 SQLCA 數(shù)據(jù)也寫入文件中。-r 選項不影響 -e 選項。如果指定了 -e 選項,那么 SQLCODE 或 SQLSTATE 數(shù)據(jù)被寫入標準輸出,而不是被寫入文件中。(OFF)

            -s

            如果執(zhí)行命令腳本時或在處于 CLP 交互模式下時發(fā)生錯誤,那么可以使用這個選項停止處理;將錯誤消息寫入標準輸出。如果禁用該選項,則會顯示錯誤消息,并繼續(xù)執(zhí)行剩余命令或語句;只有發(fā)生系統(tǒng)錯誤時才停止執(zhí)行。(OFF)

            -t

            使用分號(;)作為語句終止符號。該選項禁用反斜線(“)行連續(xù)字符。(OFF)

            -tdx

            使用 x 作為語句終止字符。(OFF)

            -v

            將輸入文本回送到標準輸出。(OFF)

            -w

            顯示 SQL 語句警告消息。(ON)

            -x

            返回沒有任何標題(包括列名)的數(shù)據(jù)。(OFF)

            -z filename

            將所有輸出(包括任何消息或錯誤代碼)重定向到指定的文件。如果該文件已經(jīng)存在,則將新的信息添加到文件的后面。如果 -a 選項與 -z 選項一起指定,那么還要將 SQLCA 數(shù)據(jù)也寫入文件中。-z 選項不影響 -e 選項。如果指定了 -e 選項,那么要將 SQLCODE 或 SQLSTATE 數(shù)據(jù)寫入標準輸出,而不是寫入文件中。(OFF)

            CLP 選項通??梢砸匀魏雾樞蚝徒M合來指定。要開啟選項,則需要在相應(yīng)的選項字符前加上減號(例如,-f)。要關(guān)閉選項,則需要在選項字母前加上加號,或者在選項字母兩邊分別加上減號。

            可以使用 LIST COMMAND OPTIONS 命令查看 CLP 選項的當前設(shè)置。通過發(fā)出 UPDATE COMMAND OPTIONS 命令,可以在 CLP 交互輸入模式或批處理模式下更改這些設(shè)置。例如:

            db2 => update command options using c off p off

            在交互會話或批處理輸入結(jié)束時,這些設(shè)置恢復(fù)為它們的原始值。

            還可以使用 DB2OPTIONS 注冊變量設(shè)置會話的 CLP 選項。例如:

            export DB2OPTIONS=‘+c -p-‘=> Linux and UNIX-based systems

            set DB2OPTIONS=+c -p- => Windows operating systems

            該命令關(guān)閉 SQL 語句的自動提交,并刪除在 CLP 交互輸入模式下顯示的提示符。

            交互 CLP 中的新的可用功能

            DB2 UDB Version 8.1 引入了針對 DB2 CLP 的一些易用性方面的重要改進?,F(xiàn)在可以對在交互模式下使用 CLP 時出現(xiàn)的提示符進行定制。還可以使用新的命令緩存來運行以前執(zhí)行的命令,或者使用操作系統(tǒng)的集成命令器或選擇的器來那些命令。

            定制的 CLP 提示符可以顯示當前用戶、實例連接或數(shù)據(jù)庫連接。要定義命令提示符,則需要設(shè)置新的名為 DB2_CLPPROMPT 的 DB2 UDB 注冊變量。DB2_CLPPROMPT 注冊變量可以設(shè)置為任何文本字符串,最大長度為 100 個字符。定制的字符串可以包含任意符號,在運行的時候,實際值將替代這些符號。側(cè)欄中描述了可以設(shè)置的符號。

            久久精品极品盛宴观看| av无码久久久久久不卡网站| 久久精品国产99久久丝袜| 久久久久亚洲精品无码网址| 久久人妻少妇嫩草AV蜜桃| 香蕉久久av一区二区三区| 91久久香蕉国产熟女线看| 伊人久久亚洲综合影院| 国产成人精品免费久久久久| 女同久久| 国产精品青草久久久久福利99| 免费精品久久天干天干| 国产精品99久久久久久人| 亚洲人成无码久久电影网站| 国产精品一久久香蕉产线看| 热久久国产欧美一区二区精品 | 久久夜色撩人精品国产| 日日狠狠久久偷偷色综合0| 99久久婷婷国产综合亚洲| 日本WV一本一道久久香蕉| 久久亚洲视频| 久久久久久青草大香综合精品| 成人久久久观看免费毛片| 欧美国产精品久久高清| 久久亚洲欧美日本精品| 久久久久久国产精品无码超碰 | 久久99热狠狠色精品一区| 性做久久久久久久久浪潮| 久久久精品日本一区二区三区| 久久久久亚洲av无码专区| 亚洲人成无码久久电影网站| 国产女人aaa级久久久级| 91亚洲国产成人久久精品网址| 麻豆精品久久精品色综合| 久久久久亚洲av无码专区喷水| 亚洲精品美女久久久久99| 久久影视综合亚洲| 久久涩综合| 久久国产色av免费看| 亚洲精品tv久久久久久久久| 久久亚洲精品无码AV红樱桃|