Bei den folgenden Anweisungen wird davon ausgegangen, dass Sie DB2 Universal Database verwenden. Berücksichtigen Sie Folgendes beim Erstellen und Zugreifen auf die Tabellen der Datenbank RESERVDB:
Mit dem folgenden Script wird die Datenbank für das 'Airline Reservations'-Beispiel erstellt und mit Daten gefüllt:
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
Wenn Sie das Script ausführen, führt es die folgenden Tasks aus:
So erstellen Sie die Datenbank und füllen Sie sie mit Daten:
db2start
db2 -vf airlinedb2.sql
Warten Sie das Ende des Scripts ab. Wenn Sie das Script zum ersten Mal ausführen, wird folgende Nachricht angezeigt, wobei DB2ADMIN für Ihren Benutzernamen und XMLPASSENGERTB für den Tabellennamen steht:
DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command (DB21034E Der Befehl wurde als SQL-Anweisung verarbeitet, da es sich nicht um einen gültigen Befehl für den Befehlszeilenprozessor handelte). During SQL processing it returned: SQL0204N "DB2ADMIN.XMLPASSENGERTB" is an undefined name. (Während der SQL-Verarbeitung wurde Folgendes zurückgegeben: SQL0204N "DB2ADMIN.XMLPASSENGERTB" ist ein nicht definierter Name). SQLSTATE=42704Ignorieren Sie diese Nachrichten. Die Nachrichten werden angezeigt, weil das Script versucht, die möglicherweise bereits vorhandenen Tabellen XMLFLIGHTTB und XMLPASSENGERTB zu löschen, bevor sie neu erstellt werden. Wenn das Script zum ersten Mal ausgeführt wird, kann es die Tabellen aber nicht finden.
Zurück zu "Das Beispielprogramm 'Airline Reservations' erstellen"