Configurar Oracle

En estas instrucciones se supone que está utilizando una base de datos Oracle y se le guía a través de las tareas siguientes:

Si su instalación no ha creado la base de datos predeterminada, cree una base de datos, siguiendo las instrucciones del administrador de base de datos, antes de seguir estas instrucciones.

También puede llevar a cabo estos pasos ejecutando scripts SQL predefinidos: regrese a la página inicial del ejemplo y seleccione una de las opciones de importación. Después de importar puede elegir configurar la base de datos de los scripts SQL.

Nota. Cuando cree y acceda a las tablas de la base de datos, tenga en cuenta los problemas siguientes:

  1. Abra un nuevo documento en un editor de texto, copie y pegue el siguiente script, que crea las tablas DAPTER_ADDRESS, ADAPTER_CUSTOMER, ADAPTER_INVOICE e IBM_EVENTS, en el documento, asigne el nombre adatper_create_tables_oracle.sql al archivo y guarde el archivo.
    --Primero cree las tablas necesarias para Application Data
    DROP TABLE "ADAPTER_CUSTOMER" ;
    CREATE TABLE "ADAPTER_CUSTOMER" (
    		"PKEY" VARCHAR(10) NOT NULL PRIMARY KEY,
    		"FIRSTNAME" VARCHAR(20),
    		"LASTNAME" VARCHAR(20),
    		"ADDRESS" VARCHAR(10),
    		"CCODE" VARCHAR(10)
    	);
    
    ALTER TABLE "ADAPTER_CUSTOMER" ADD CONSTRAINT "CUST_ADDR_FK" FOREIGN KEY
    	("ADDRESS")
    	REFERENCES "ADAPTER_ADDRESS"
    	("PKEY")
    	ON DELETE CASCADE;
    
    DROP TABLE "ADAPTER_ADDRESS" ;
    CREATE TABLE "ADAPTER_ADDRESS" (
    	"PKEY" VARCHAR(10) NOT NULL PRIMARY KEY,
    	"FIRSTLINE" VARCHAR(20),
    	"SECONDLINE" VARCHAR(20),
    	"CODE" VARCHAR(10),
    	"CITY" VARCHAR(20),
    	"COUNTRY" VARCHAR(10));
    
    DROP TABLE "ADAPTER_INVOICE" ;
    CREATE TABLE "ADAPTER_INVOICE" (
    	"PKEY" VARCHAR(10) NOT NULL PRIMARY KEY,
    	"ITEM" VARCHAR(10) NOT NULL,
    	"QUANTITY" INTEGER NOT NULL,
    	"CUSTOMER" VARCHAR(10) NOT NULL);
    
    ALTER TABLE "ADAPTER_INVOICE" ADD CONSTRAINT "INV_CUST_FK" FOREIGN KEY
    	("CUSTOMER")
    	REFERENCES "ADAPTER_CUSTOMER"
    	("PKEY")
    	ON DELETE CASCADE;
    
    DROP TABLE "IBM_EVENTS" ;
    CREATE TABLE "IBM_EVENTS" (
    		"EVENT_ID" INTEGER PRIMARY KEY,
    		"CONNECTOR_ID" VARCHAR(40),
    		"OBJECT_KEY" VARCHAR(10) NOT NULL,
    		"OBJECT_NAME" VARCHAR(40) NOT NULL,
    		"OBJECT_VERB" VARCHAR(40) NOT NULL,
    		"EVENT_PRIORITY" INTEGER NOT NULL,
    		"EVENT_TIME" TIMESTAMP NOT NULL DEFAULT CURRENT TIMESTAMP,
    		"EVENT_STATUS" INTEGER NOT NULL,
    		"EVENT_COMMENT" VARCHAR(100)
    	);
    
    
    CREATE SEQUENCE "IBM_SEQUENCE" (start with 1 increment by 1 nomaxvalue);
    CREATE TRIGGER "IBM_SEQ_TRIG" 
      BEFORE INSERT ON "IBM_EVENTS" 
      FOR EACH ROW 
      BEGIN 
        SELECT DBINPUT_SEQUENCE.nextval INTO :NEW.EVENT_ID FROM dual; 
      END;
    
    DROP TRIGGER "ADAP_CUST_EVENT";
    CREATE TRIGGER "ADAP_CUST_EVENT" 
    	AFTER INSERT OR DELETE OR UPDATE ON "ADAPTER_CUSTOMER"
    	REFERENCING  NEW AS N OLD AS O
    	FOR EACH ROW
    	BEGIN
    		IF inserting THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_CUSTOMER', 'Create', 1, 0);
    		END IF;
    		IF updating THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_CUSTOMER', 'Update', 1, 0);
    		END IF;
    		IF deleting THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_CUSTOMER', 'Delete', 1, 0);
    		END IF;
    	END;
    	
    DROP TRIGGER "ADAP_ADD_EVENT";
    CREATE TRIGGER "ADAP_ADD_EVENT" 
    	AFTER INSERT OR DELETE OR UPDATE ON "ADAPTER_ADDRESS"
    	REFERENCING  NEW AS N OLD AS O
    	FOR EACH ROW
    	BEGIN
    		IF inserting THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_ADDRESS', 'Create', 1, 0);
    		END IF;
    		IF updating THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_ADDRESS', 'Update', 1, 0);
    		END IF;
    		IF deleting THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_ADDRESS', 'Delete', 1, 0);
    		END IF;
    	END;
    	
    DROP TRIGGER "ADAP_INV_EVENT";
    CREATE TRIGGER "ADAP_INV_EVENT" 
    	AFTER INSERT OR DELETE OR UPDATE ON "ADAPTER_INVOICE"
    	REFERENCING  NEW AS N OLD AS O
    	FOR EACH ROW
    	BEGIN
    		IF inserting THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_INVOICE', 'Create', 1, 0);
    		END IF;
    		IF updating THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_INVOICE', 'Update', 1, 0);
    		END IF;
    		IF deleting THEN
    			INSERT INTO IBM_EVENTS(OBJECT_KEY, OBJECT_NAME, OBJECT_VERB, EVENT_PRIORITY, EVENT_STATUS)
    				VALUES(:N.PKEY,'ADAPTER_INVOICE', 'Delete', 1, 0);
    		END IF;
    	END;
    	
    	
            
  2. En una ventana de mandatos que haya abierto para acceder a la base de datos, vaya a la carpeta que contiene adapter_create_tables_oracle.sql y especifique el siguiente mandato:
    sqlplus <ID_usuario>/<contraseña> @adapter_create_tables_oracle.sql

    Espere a que el script termine de ejecutarse. Si ejecuta el script por primera vez, aparece el siguiente mensaje:

    ORA-00942: la tabla o la vista no existe
    Ignore este mensaje. El mensaje se visualiza porque el script intenta eliminar las tablas existentes denominadas DBINPUT_CUSTOMER y DBINPUT_EVENTS antes de crear tablas nuevas; no obstante, si no ha ejecutado el script con anterioridad, el script no encuentra la tabla existente.

Volver a Configurar la base de datos

Volver a la página inicial del ejemplo