DB2 einrichten

Bei den folgenden Anweisungen wird davon ausgegangen, dass Sie DB2 Universal Database verwenden. Sie werden durch die folgenden Tasks geführt:

Die folgenden Tasks sind optional:

Gehen Sie wie folgt vor:

  1. Öffnen Sie ein neues Dokument in einem Texteditor, kopieren Sie das folgende Script zum Erstellen der Datenbank DBINPUT und zur Ausführung des Dienstprogramms BIND, fügen Sie es in das Dokument ein und speichern Sie die Datei unter dem Namen dbinput.sql.
  2. Geben Sie in einem DB2-Befehlsfenster folgenden Befehl ein, um sicherzustellen, dass DB2 gestartet ist:
    db2start
  3. Navigieren Sie in einem DB2-Befehlsfenster zu dem Ordner, in dem die Datei dbinput.sql enthalten ist, und geben Sie den folgenden Befehl ein:
    db2 -vf dbinput.sql

Nächster Schritt: Entscheiden Sie sich für eine der folgenden Optionen, um die Datenbanktabellen und Auslöser zu erstellen:

Datenbanktabellen und Auslöser manuell erstellen

Hinweis: Berücksichtigen Sie Folgendes beim Erstellen der Datenbanktabellen und beim Zugriff darauf:

Datenbanktabellen und Auslöser erstellen:

  1. Öffnen Sie ein neues Dokument in einem Texteditor, kopieren Sie das folgende Script zum Erstellen der Tabellen DBINPUT_CUSTOMER und DBINPUT_EVENTS, fügen Sie es in das Dokument ein und speichern Sie die Datei unter dem Namen dbinput_create_tables_db2.sql.
     
    CONNECT TO DBINPUT@
    
    DROP TABLE "DBINPUT_CUSTOMER"@
    CREATE TABLE "DBINPUT_CUSTOMER" (
    		"PKEY" VARCHAR(10) NOT NULL,
    		"FIRSTNAME" VARCHAR(20),
    		"LASTNAME" VARCHAR(20),
    		"CCODE" VARCHAR(10)
    	)
    	DATA CAPTURE NONE@
    
    DROP TABLE "DBINPUT_EVENTS"@
    CREATE TABLE "DBINPUT_EVENTS" (
    		"EVENT_ID" INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 NO CYCLE NO CACHE),
    		"OBJECT_KEY" VARCHAR(80) NOT NULL,
    		"OBJECT_VERB" VARCHAR(40) NOT NULL
    	)
    	DATA CAPTURE NONE@
    
    
    ALTER TABLE "DBINPUT_CUSTOMER" ADD CONSTRAINT "DBINPUTCUSTOMERPK" PRIMARY KEY
    	("PKEY")@
    
    ALTER TABLE "DBINPUT_EVENTS" ADD CONSTRAINT "DBINPUTEVENTPK" PRIMARY KEY
    	("EVENT_ID")@
    
    CREATE TRIGGER "DBIN_CUST_CREATE" 
    	AFTER INSERT ON "DBINPUT_CUSTOMER"
    	REFERENCING  NEW AS N
    	FOR EACH ROW
    
    INSERT INTO DBINPUT_EVENTS (OBJECT_KEY, OBJECT_VERB)
           VALUES (N.pkey, 'Create')@
    
    CREATE TRIGGER "DBIN_CUST_DELETE" 
    	AFTER DELETE ON "DBINPUT_CUSTOMER"
    	REFERENCING  OLD AS O
    	FOR EACH ROW
    
    INSERT INTO DBINPUT_EVENTS (OBJECT_KEY, OBJECT_VERB)
           VALUES (O.pkey, 'Delete')@
    
    CREATE TRIGGER "DBIN_CUST_UPDATE" 
    	AFTER UPDATE ON "DBINPUT_CUSTOMER"
    	REFERENCING  NEW AS N
    	FOR EACH ROW
    
    INSERT INTO DBINPUT_EVENTS (OBJECT_KEY, OBJECT_VERB)
           VALUES (N.pkey, 'Update')@
    
    TERMINATE@
            
  2. Stellen Sie sicher, dass die Datenbank aktiv und verbunden ist.
  3. Wechseln Sie in einem Befehlsfenster, das für den Zugriff auf Ihre Datenbank geöffnet wurde, zu dem Ordner, in dem die Datei dbinput_create_tables_db2.sql enthalten ist, und geben Sie den folgenden Befehl ein:
    db2 -td@ -vf dbinput_create_tables_db2.sql

    Warten Sie das Ende des Scripts ab. Wenn Sie das Script zum ersten Mal ausführen, wird die folgende Nachricht zweimal angezeigt:

    DB21034E  The command was processed as an SQL statement because it was not a
    valid Command Line Processor command.  During SQL processing it returned:
    SQL0204N  "DB2ADMIN.DBINPUT_EVENTS" is an undefined name.  SQLSTATE=42704
    
    Ignorieren Sie beide Nachrichten. Die Nachricht wird angezeigt, weil das Script versucht, die möglicherweise bereits vorhandenen Tabellen 'DBINPUT_CUSTOMER' und 'DBINPUT_EVENTS' zu löschen, bevor neue Tabellen erstellt werden. Wenn das Script jedoch zum ersten Mal ausgeführt wird, kann das Script keine Tabellen finden.

    Falls Sie das Script nicht zum ersten Mal ausführen, wird möglicherweise für jeden der Auslöser eine Warnung angezeigt:

    SQL0280W  View, trigger or materialized query table
    "DB2ADMIN.DBIN_CUST_UPDATE" has replaced an existing inoperative view, trigger
    or materialized query table.  SQLSTATE=01595
    
    Diese Nachrichten können ebenfalls ignoriert werden.

Zurück zu 'Datenbank konfigurieren'

Zurück zum Beginn des Mustercodes