[firebase-br] RES: Executar Script Inteiro, mesmo com erros

Denis da Silva Guerra ministeriokairos em yahoo.com.br
Seg Fev 20 11:24:49 -03 2006


Oi, Jeferson
Muito obrigado pela ajuda!

Só que dessa forma vc executa cada sentença SQL individualmente, né?
Assim não precisava nem usar o componente TIBScript. 
Daria até para executar cada sentença com um simples TIBQuery, certo?

Imaginei que poderia existir um componente que executasse todo um script
ignorando os erros...
Mas se não existe, vou usar a tua solução.

Ah! O que faz a função RetornaCampo?  Vc tem o código dela?
 


[ ]'s 
 
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^ 
Denis da Silva Guerra 
denisdsguerra em gmail.com
São José do Vale do Rio Preto - RJ 
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^ . 

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Jeferson Oliveira
Enviada em: segunda-feira, 20 de fevereiro de 2006 09:41
Para: lista em firebase.com.br
Assunto: Re: [firebase-br] Executar Script Inteiro, mesmo com erros

Olá Denis!

Os erros durante a execução do script devem ser tratados por sua aplicação.
Abaixo um exemplo em Delphi utilizando IBScript que pode ser facilmente 
adpatado para uso com qualquer outro componente:

procedure ExecutaSentencasScript(ibsExecutar: TIBScript);
var
  TextoScript, SentencaSQL: String;
begin
  TextoScript := Trim(ibsExecutar.Script.Text);
  while TextoScript <> '' do
  begin
    SentencaSQL := RetornaCampo(TextoScript, ibsExecutar.Terminator, 1);
    ibsExecutar.Script.Text := SentencaSQL;
    TextoScript := Copy(TextoScript, Pos(SentencaSQL, TextoScript) + 
Length(SentencaSQL) + 1, Length(TextoScript));
    try
      ibsExecutar.ExecuteScript;
    except
      on E: Exception do
      begin
        Continue;
      end;
    end;
  end;
end;


Atenciosamente,

Jeferson Oliveira
Analista de Sistemas
MV Tecnologia Ltda - Belo Horizonte (matriz)


"Denis da Silva Guerra" 
<ministeriokairos em yahoo.com.br> escreveu na 
mensagem news:10482.9214433723$1140266542 em news.gmane.org...

Pessoal,
Existe algum componente que execute um Script inteiro, mesmo se no meio dele
alguma instrução apresente algum erro?

Por Exemplo:

CREATE GENERATOR GENERATOR_01;
CREATE GENERATOR GENERATOR_02;
CREATE GENERATOR GENERATOR_03;
CREATE GENERATOR GENERATOR_04;
CREATE GENERATOR GENERATOR_05;

Vamos supor que o GENERATOR_03 já exista.
Quando a execução do Script chegar em "CREATE GENERATOR GENERATOR_03;" vai
dar erro.
Meu objetivo é continuar a executar o Script e, assim mesmo, criar o
GENERATOR_04 e o GENERATOR_05.
O IBExpert faz isso na boa para execução dos Scripts...

O IBO faz isso?
Ou preciso de um componente especial para isso?

Obs: Uso Firebird 1.5


[ ]'s

~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
Denis da Silva Guerra
denisdsguerra em gmail.com
São José do Vale do Rio Preto - RJ
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^ .


-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.15.7/259 - Release Date: 13/02/2006







_______________________________________________________
Yahoo! doce lar. Faça do Yahoo! sua homepage.
http://br.yahoo.com/homepageset.html



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.15.7/259 - Release Date: 13/02/2006
 
  

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.15.7/259 - Release Date: 13/02/2006
 


		
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
http://br.acesso.yahoo.com





Mais detalhes sobre a lista de discussão lista