Essas instruções presumem que você esteja utilizando um banco de dados Oracle e orienta sobre as seguintes tarefas:
Se a sua instalação não criou o banco de dados padrão, crie um banco de dados, seguindo suas instruções do DBA, antes de seguir estas instruções.
Também é possível executar estas etapas executando scripts SQL predefinidos: Retorne para o início da amostra e escolha uma das opções de importação. Após a importação, é possível escolher configurar o banco de dados a partir dos scripts SQL.
Nota. Quando você cria e acessa as tabelas de banco de dados, fique atento como os seguintes problemas:
-- Primeiro crie as tabelas necessárias para Dados do Aplicativo 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" (iniciar com 1 incremento por 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;
sqlplus <uid>/<password> @adapter_create_tables_oracle.sql
Aguarde a conclusão do script. Se estiver executando o script pela primeira vez, a mensagem a seguir é exibida:
ORA-00942: table or view does not existIgnore essa mensagem. A mensagem é exibida porque o script tenta remover as tabelas existentes, chamadas DBINPUT_CUSTOMER e DBINPUT_EVENTS, antes de criar novas tabelas, mas se o script não tiver sido executado antes, ele não poderá localizar a tabela existente.