パーソナルツール
現在の場所: ホーム ブログ MAGIC + DB2 で XQuery(2)
« 2018January »
Su Mo Tu We Th Fr Sa
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
このBlogについて
 代表の向井田ことMUKAです。当ブログサイトでは、MAGICやDB2に関する技術者向け情報を公開しています。お気軽にお立ち寄り下さい。
最近のエントリ
twitter / 新RT機能を英語モードで・・・ muka 2009年11月19日
twitter / List Widget muka 2009年11月03日
twitter API / Retweet の仕様が・・・ muka 2009年10月30日
twitter API / Lists muka 2009年10月24日
IBM Rational Software Conference 2009 と アジャイル開発 muka 2009年10月08日
twitter API / geoタグ! muka 2009年10月01日
Twitter Developers Meetup in Tokyo muka 2009年09月11日
Club DB2 2009/9/4 muka 2009年09月05日
最近のコメント
Re:Club DB2 2009/8/29 muka 2009年09月01日
Re:Club DB2 2009/8/29 SIM 2009年08月31日
最近のトラックバック
Club DB2 8/29の感想エントリと今後の予定 Unofficial DB2 BLOG 2009年09月01日
カテゴリ
misc (47)
dbMAGIC (47)
DB2 (47)
mail (47)
Web (47)
twitter (47)
 

MAGIC + DB2 で XQuery(2)


データベースとテーブルの作成


 なんかもうすぐ春という季節になりましたが、如何お過ごしでしょうか?
 今日は確定申告の締切日でしたが、医療費控除の申告をようやくすませて、家内共々ほっとしているところです。なんかこの2・3年、ギリギリの日に提出することが続いています・・・(^^;

 さて、いきなり始まったDB2シリーズですが、今とあるシステムの試作にDB2 9を使って取り組んでいるんです。
 結構、試行錯誤の連続なんですね。でも、こういう風にブログに書き込むと、頭の中が整理されて良いものです。
 モノになるのかならないのかまだ分からないんですが、しばしお付き合い下さい。
 では、今回は、テーブルを作るところからです。

 データベースとテーブルの作成は、DB2の「コマンドウインドウ」(CLP-「コマンドラインプロセッサー」とも言う)を使って行い、その作成結果をMAGICの「定義取得」で行う手順について説明します。
 「コマンドウインドウ」はいわゆる「DOS窓」みたいなものですが(実際にDOSコマンドが入力できます。)、コマンドラインの先頭に「DB2」を付加することによりDB2に対するコマンド命令を操作することが可能です。

  1. インスタンスの起動
    インスタンスが起動していない場合は、「DB2START」コマンドによりそれを起動します。
    DB2START
  2. データベースの作成
    次のコマンドにより、「DB2XML」というデータベースを作成します。XMLタイプのカラムを使う場合は、コードセットをユニコードにします。
    CREATE DATABASE DB2XML ON C USING CODESET UTF-8 TERRITORY JP
  3. データベースへの接続
    作成したデータベースに接続します。DB2はログインしているユーザを認識するので、ユーザ名の指定は不要です。もし指定するなら、下記のコマンドの後に、「 user ユーザ名 using パスワード」を追加します。
    CONNECT TO DB2XML
  4. テーブルの作成
    次のコマンドにより、「XMLDBTEST」というテーブルを作成します。
    CREATE TABLE DB2ADMIN.XMLDBTEST(DATAID CHAR(20) NOT NULL,
    DATAXML XML,CONSTRAINT DATAID PRIMARY KEY(DATAID))
    ここで、テーブル名の先頭に付加している「DB2ADMIN」は「スキーマ」と呼ばれるものです。データベースオブジェクトを論理的にグループ化するためのものですが、何もつけない場合は、ユーザー名が付加されますので、敢えて固定的なものを指定しておいたほうが良いと思います。
    最初のカラムが「DATAID」という名前の文字タイプの項目です。二番目のカラムは「DATAXML」という名前の「XML」タイプ(DB2 9で新しく追加された型)の項目です。
    最初の「DATAID」というカラムはインデックスも作成しておきます。

  5. データベースへの接続の終了
    データベースへの接続を終了します。
    CONNECT RESET

 実際の実行画面は次のようになります。

v10db2_002.jpg


 今回は、コマンドウインドウで操作しましたが、「DB2CMD」という実行形式を使用し、テキストファイルにコマンドを書いて渡すことにより同様の処理が可能です。
 MAGICからは、外部コール、「OSコマンド」で、表示を「M=最小化」や「H=なし」を選択すれば殆ど分からなくなります。
DB2CMD /c /w /i DB2 -f 処理ファイル -zログファイル


MAGICでの定義取得


 MAGIC V10により、作成したテーブルを定義取得してみます。

  1. データベースの定義
    MAGIC V10を起動し、データベースの定義を実行します。(オプション→設定→データベース)
    DBMSに「DB2」を選択します。「DB名」には、作成したデータベース名「DB2XML」を設定します。(「DB名」には論理名も使用できるようです。)

    v10db2_001.jpg

  2. 定義取得
    データリポジトリを開き、定義を追加します。
    「データベース」には1で登録したDB2用のものを選択します。
    名前に「XMLDBTEST」を入れます。
    特性画面を開き(「Alt+Enter」)、「SQL」タブの「オーナ名」にテーブルを作成するときに指定したスキーマ名「DB2ADMIN」を入力します。(「オーナ名」にも論理名が使えるようです。)

    v10db2_003.jpg

    最後に「定義取得」を実行します。(「オプション」→「定義取得」、もしくは「F9」キー)
    しばらくすると処理が終了し、テーブルのカラムやインデックスが自動的に作成されます。

    v10db2_004.jpg

  3. カラム属性の修正
    自動的に作成されたカラム「DATAXML」は若干の修正が必要です。

    v10db2_005.jpg
    • 「型」を「A=文字」から「B=BLOB」に変更します。
    • 特性画面のSQLタイプを「XML」にします。(必須でないかもしれません。)
    • 特性画面のスタイルの「GUI表示形式」、「GUI表示形式テーブル」を「I=リッチエディット」等に変更します。(必須でないかもしれません。)

  4. テスト実行
    変更内容を保存して実行(「Ctrl+G」キー)してみてください。
    「DATAXML」カラムへは入力できませんが、「DATAID」に適当な文字を入力してみて、レコードの追加や削除ができればOKです。

    v10db2_006.jpg


MAGIC + DB2 で XQuery(1) MAGIC + DB2 で XQuery(1)
サイズ 4320 - File type text/html
カテゴリ
dbMAGIC
DB2