[firebase-br] Ajuda com Script

Tecnobyte Informática temp2 em tecnobyte.com.br
Qui Maio 19 11:27:50 -03 2011


Bom dia

Uso o esquema descrito abaixo para atualizar a base de dados no cliente.

1. Gravo no banco de dados o número de versão da estrutura do banco de
dados.

2. Tenho uma tabela criada com ClientDataSet que contém os scripts
(comandos) juntamente com o número da versão.

3. Quando o sistema inicia, abro a tabela de scripts no ClientDataSet e
executo todos os scripts cujo número de versão é maior que o número gravado
no banco de dados.


*** EXEMPLO ***

Versão ZERO - Banco de dados inicial

------- Versão 1 -------

CREATE TABLE Teste...
ALTER TABLE Seila...

------- Versão 2 -------

UPDATE Teste SET ...
DELETE FROM Seila WHERE ...
CREATE SEQUENCE ...

------- Versão 3 -------

etc, etc, etc

------- *** -------

Se ao iniciar a aplicação for verificado que no banco de dados está gravado
"Versão 1", então tenho que executar os scripts a partir da versão 2 para
que o banco de dados seja atualizado corretamente.

Para evitar erros como  "Object in use" e outros problemas, entre um script
e outro eu desconecto e conecto ao banco novamente. Além disso, não misturo
comandos DDL (create, alter, etc) com DML (insert, update, delete) no mesmo
script, pois isto evita problemas com transações.

CUIDADO! É muito importante que o arquivo de scripts seja criptografado ou
protegido de alguma forma para evitar que alguém adicione comandos
manualmente, o que poderia ser desastroso.

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br

-----Mensagem Original----- 
From: Marcelo Carvalho
Sent: Thursday, May 19, 2011 9:42 AM
To: FireBase
Subject: [firebase-br] Ajuda com Script

Bom Dia,

Como posso automatizar a execução de script na base do cliente?
Hoje eu envio para o cliente um instalador, que vai atualizar o executável,
e também um script para ser executado na base do cliente.
Só que preciso estar na frente do micro, mesmo que seja remoto, para poder
executar esse script.
Eu queria mandar tudo pronto neste instalador.
Atualiza-se o executável e rodaria esse script.

Como fazer?
Quem poderá me ajudar?

-- 
Atenciosamente,

*Marcelo Carvalho*
MSN *carvalho826 em hotmail.com* 





Mais detalhes sobre a lista de discussão lista