<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    初識DB2

    1,CLP的運(yùn)行:

    ???直接在cmd中鍵入:db2,報(bào)錯:DB21061E? 未初始化命令行環(huán)境。

    ???鍵入:db2cmd,這時(shí)會打開一個CLP窗口,在這里鍵入db2后,就可以進(jìn)行sql命令操作了。如:

    ?? db2 => connect to sample


    2,表空間的創(chuàng)建:

    ?????在創(chuàng)建表空間,選擇“容器”,如果你選擇的容器(windows os)是一個非空的文件夾,那么將會報(bào)錯:

    ????????????[IBM][CLI Driver][DB2/NT] SQL0298N? 容器路徑不正確。? SQLSTATE=428B2

    ??? 只需將“容器”改為一個空的文件夾即可。


    3,創(chuàng)建數(shù)據(jù)庫:

    ??????一個數(shù)據(jù)庫最少有三個表空間:用戶表、目錄表和臨時(shí)表,這些表空間可以采取讓OS來管理,也可以讓DB本身來管理,這里我采用讓OS來進(jìn)行管理表空間,容器的建立如下:

    ???????????????用戶表(空間)--- d:\MyDB\userTabSpace
    ???????????????目錄表(空間)--- d:\MyDB\dirTabSpace
    ???????????????臨時(shí)表(空間)--- d:\MyDB\tempTabSpace

    4,在java中用JDBC連接DB2數(shù)據(jù)庫,先用eclipse中的Database Explorer連接:
    ???????
    ??????a,當(dāng)Class選用DB2中E:\IBM\SQLLIB\java\db2java.zip 下的COM.ibm.db2.jdbc.app.DB2Driver時(shí),Database Explorer可以連接上數(shù)據(jù)庫;當(dāng)Class選用DB2中E:\IBM\SQLLIB\java\db2jcc.jar 下的com.ibm.db2.jcc.DB2Driver時(shí),Database Explorer連接不上數(shù)據(jù)庫,報(bào)錯:No license was found,需要將包db2jcc_license_cu.jar加載到classpath下。

    5,在用restore命令對DB2進(jìn)行數(shù)據(jù)恢復(fù)時(shí),如果有多個備份文件與為備份數(shù)據(jù)庫映像所提供的時(shí)間戳記值相匹配的話,那么將不能正常恢復(fù),這里采用了一個比較土的方法:如130324.001,改為:130324A.001,那么將會認(rèn)為這個文件與備份數(shù)據(jù)庫映像所提供的時(shí)間戳記值不同,不予恢復(fù)考慮。

    6,oracle中的decode()函數(shù),看看在DB2中都被折騰成什么樣子了:

    ??語句:?select id,case when id=1 then '鄒清兵' when id=2 then '馬明燈' else name end as 姓名,name from test;

    ID????????? 姓名?????? NAME
    ----------- ---------- ----------
    ????????? 1 鄒清兵???? zqb
    ????????? 2 馬明燈???? mmd
    ????????? 3 kyy??????? kyy

    ? 3 條記錄已選擇。

    7,DB2中db2start啟動數(shù)據(jù)庫,db2stop用來關(guān)閉數(shù)據(jù)庫。但如果有數(shù)據(jù)庫正在連接時(shí),是不能關(guān)閉數(shù)據(jù)庫的,只有先斷開數(shù)據(jù)庫(connect reset)連接才能再關(guān)閉數(shù)據(jù)庫(db2stop);當(dāng)然,也可以強(qiáng)行關(guān)閉數(shù)據(jù)庫(db2stop force)。

    8,查錯方法總結(jié):
    ?????????通過SQLSTATE代碼得到其錯誤原因,如:
    ???????????????db2? ?? ??08004,其中08004是SQLSTATE代碼;當(dāng)然,有時(shí)候我們得到的并不一定是SQLSTATE代碼,這時(shí)可以同樣通過命令:?db2? ?? SQL1068N,來得到其SQLSTATE代碼。


    9,oracle中的rownum,可以用DB2中的row_number() over()來替代,也可以用fetch first 3 rows only,如:
    ????select * from (select?row_number() over() as rownum,t.*?from?xxx t) where rownum <?3
    ??? (select ? * ? from ? xxx ? fetch ? first ? 20 ? rows ? only) ? except ? (select ? * ? from ? xxx ? fetch ? first ? 10 ? rows ? only)

    posted on 2007-07-03 10:54 心硯 閱讀(2008) 評論(0)  編輯  收藏 所屬分類: DB

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(2)

    隨筆分類

    文章分類

    文章檔案

    Forum

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品国产第一综合99久久 | 成人福利在线观看免费视频| 亚州免费一级毛片| 亚洲国产精品久久久久婷婷软件| 久久久免费观成人影院| 久久久久亚洲AV无码专区网站| 美女黄频a美女大全免费皮| 免费精品国产自产拍观看| 亚洲av成人一区二区三区在线播放 | 最近2019年免费中文字幕高清| 亚洲成av人在线视| 久久久久高潮毛片免费全部播放 | 亚洲无线一二三四区| 国产在线jyzzjyzz免费麻豆| 亚洲国产精品久久丫| 成人毛片免费播放| 亚洲国产精品无码久久| 亚洲国产天堂久久久久久| 中文字幕永久免费视频| 亚洲AV日韩精品久久久久久| 91在线老王精品免费播放| 亚洲1234区乱码| 日本免费人成黄页在线观看视频| 国产精品亚洲五月天高清| 久久精品国产亚洲7777| 免费观看久久精彩视频| ass亚洲**毛茸茸pics| 国产精品久久香蕉免费播放 | 久久久久国产免费| jlzzjlzz亚洲jzjzjz| 国产v片免费播放| a在线视频免费观看| 亚洲午夜精品在线| 五月天婷亚洲天综合网精品偷| 91在线视频免费观看| 亚洲最新在线视频| 亚洲免费视频一区二区三区| 久久久高清日本道免费观看| 2019亚洲午夜无码天堂| 国产AV无码专区亚洲AV漫画| 日本免费xxxx|