データベースの作成およびデータ取り込み

ここでの指示は、DB2 Universal Database を使用していることを前提としています。 RESERVDB 表を作成してそれにアクセスする際には、以下の問題に注意してください。

以下のスクリプトは、Airline Reservations サンプル用のデータベースを作成し、データを取り込みます。

CREATE DB RESERVDB
CONNECT TO RESERVDB
BIND '%DB2TEMPDIR%¥bnd¥@db2cli.lst' blocking all grant public
CATALOG SYSTEM ODBC DATA SOURCE RESERVDB
CONNECT RESET
CONNECT TO RESERVDB
DROP TABLE XMLFLIGHTTB
CREATE TABLE XMLFLIGHTTB (FLIGHTDATE CHAR(8) NOT NULL, FLIGHTNO CHAR(5) NOT NULL, ECONOMICCLASS INTEGER NOT NULL, FIRSTCLASS INTEGER NOT NULL, TOTALECONOMIC INTEGER NOT NULL, TOTALFIRST INTEGER NOT NULL, ECONOMICPRICE INTEGER NOT NULL, FIRSTPRICE INTEGER NOT NULL, STARTPOINT CHAR(20) NOT NULL, ENDPOINT CHAR(20) NOT NULL, RESERVATIONSEQNO INTEGER NOT NULL, CONSTRAINT FLIGHT_UNIQ UNIQUE(FLIGHTDATE, FLIGHTNO))
INSERT INTO XMLFLIGHTTB VALUES('20030218', 'CA937', 0, 0, 200, 50, 200, 300, 'BEIJING', 'LONDON', 0)
INSERT INTO XMLFLIGHTTB VALUES('20030525', 'BA039', 0, 0, 180, 40, 220, 320, 'LONDON', 'BEIJING', 0)
INSERT INTO XMLFLIGHTTB VALUES('20030525', 'CA937', 0, 0, 200, 50, 200, 300, 'BEIJING', 'LONDON', 0)
INSERT INTO XMLFLIGHTTB VALUES('20030219', 'BA039', 0, 0, 180, 40, 220, 320, 'LONDON', 'BEIJING', 0)
DROP TABLE XMLPASSENGERTB
CREATE TABLE XMLPASSENGERTB (LASTNAME CHAR(20) NOT NULL, FIRSTNAME CHAR(20) NOT NULL, FLIGHTNO CHAR(5) NOT NULL, FLIGHTDATE CHAR(8) NOT NULL, CLASSTYPE CHAR(1) NOT NULL, RESERVATIONNO VARCHAR(40) NOT NULL, PRIMARY KEY(RESERVATIONNO))
CONNECT RESET
TERMINATE

このスクリプトを実行すると、以下のタスクが実行されます。

データベースを作成してデータを取り込むには、次のようにします。

  1. スクリプトをコピーしてテキスト・エディター (「メモ帳」など) に貼り付け、そのファイルを保管します。 任意の名前を選択できますが、以下の指示は airlinedb2.sql というファイル名を選択したことを前提としています。
  2. DB2 コマンド・ウィンドウで以下のコマンドを入力して、DB2 が開始されていることを確認します。

    db2start

  3. DB2 コマンド・ウィンドウで、airlinedb2.sql を含むフォルダーに移動し、以下のコマンドを入力します。

    db2 -vf airlinedb2.sql

    スクリプトの実行が終了するまで待ちます。 初めてスクリプトを実行する場合は、以下のメッセージが表示されます (DB2ADMIN はご使用のユーザー名、XMLPASSENGERTB は表の名前です)。

    DB21034E コマンドが、有効なコマンド行プロセッサー・コマンドでないため、SQL ステートメントとして処理されました。
    SQL 処理中に、以下のコマンドが返されました。SQL0204N "DB2ADMIN.XMLPASSENGERTB" は未定義の名前です。SQLSTATE=42704
    これらのメッセージは無視してください。 メッセージが表示される理由は、スクリプトは XMLFLIGHTTB および XMLPASSENGERTB という既存の表を作成前に除去しようとしますが、これまでスクリプトを実行したことがない場合は、表を検出できないからです。

  4. DB2 Control Center を始動し、データベース RESERVDB と、表 XMLFLIGHTTB および XMLPASSENGERTB が 作成されているかどうかを調べます。

メインページのアイコン   『Airline Reservations サンプルのビルド』に戻る