ここでの指示は、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
このスクリプトを実行すると、以下のタスクが実行されます。
データベースを作成してデータを取り込むには、次のようにします。
db2start
db2 -vf airlinedb2.sql
スクリプトの実行が終了するまで待ちます。 初めてスクリプトを実行する場合は、以下のメッセージが表示されます (DB2ADMIN はご使用のユーザー名、XMLPASSENGERTB は表の名前です)。
DB21034E コマンドが、有効なコマンド行プロセッサー・コマンドでないため、SQL ステートメントとして処理されました。 SQL 処理中に、以下のコマンドが返されました。SQL0204N "DB2ADMIN.XMLPASSENGERTB" は未定義の名前です。SQLSTATE=42704これらのメッセージは無視してください。 メッセージが表示される理由は、スクリプトは XMLFLIGHTTB および XMLPASSENGERTB という既存の表を作成前に除去しようとしますが、これまでスクリプトを実行したことがない場合は、表を検出できないからです。