[firebase-br] RES: RES: RES: Extrair trigger em .txt via procedure

Carlos H. Cantu listas em warmboot.com.br
Qui Dez 13 17:30:22 -03 2012


MW> Obrigado Cantu, tentei com o TIBOStoreProc e o TIB_DSQL sem
MW> sucesso, consegui usando um TIB_Script

Se vc estava colocando o commit no código SQL não ia funcionar mesmo.
Ao usar TIBOStoredProc e TIB_DSQL, o commit deve ser chamado
diretamenta na transação associada ao componente, após a execução do
mesmo.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br


MW> Em 13 de dezembro de 2012 13:50, Carlos H. Cantu
MW> <listas em warmboot.com.br> escreveu:

MW>   Quem deve dar o commit é a aplicação que disparou a procedure.
MW>  
MW>  PS: IBOQuery não é o componente mais indicado para executar uma
MW>  procedure. Pra isso existem o TIBOStoreProc ou mesmo o TIB_DSQL.
MW>  

MW>  []s
MW>  Carlos H. Cantu
MW>  www.FireBase.com.br - www.firebirdnews.org
MW>  www.warmboot.com.br - blog.firebase.com.br
MW>  
MW>  
MW>> Não sabia que não era possivel efetuar o commit dentro de procedures,
MW>  
 MW>> Então qual seria a saida já que não consigo efetuar um commit?
MW>  
 MW>>  Faço o commit da transação (ibotransaction) que esta ligado a
 MW>> query (iboquery) e não esta surtindo efeitos.
MW>  

MW>  
MW>  
MW>  
 MW>> -=Ma®©oS=-
 MW>> Marcos R. Weimer
 MW>> Delphi / C# / ASP.NET / WebServices / Firebird
MW>  
MW>  
MW>  
MW>  
MW>>
MW>  
MW>  
 MW>> Em 13 de dezembro de 2012 11:49, Carlos H. Cantu
 MW>> <listas em warmboot.com.br> escreveu:
MW>  
 MW>>   Você não pode dar commit nem rollback dentro de triggers e procedures.
 MW>>
 MW>>  []s
 MW>>  Carlos H. Cantu
 MW>>  www.FireBase.com.br - www.firebirdnews.org
 MW>>  www.warmboot.com.br - blog.firebase.com.br
 MW>>
MW>  
 MW>>> Alterei a procedure e fiz para criar 2 triggers qd ultrapassar os 32k de
  MW>>> limite, até ai tudo bem, só que tenho um problema, a procedure não faz o
  MW>>> commit, tenho de fazer no "braço", se insiro na ultima linha util (antes do
  MW>>> end no fim da procedure) o commit; ocorre um erro "Token unknown - line
  MW>>> 468, column 3. commit."
 MW>>
  MW>>> Executo na aplicação na tela de log (criar por tabela ou todas e tal),
  MW>>> chamo com um iboquery o seguinte comando...
  MW>>> "execute procedure log_ativardesativar(:ativar)"
 MW>>
  MW>>> depois de passar o parametro para a query e rodar um execsql, não tenho
  MW>>> erro algum, depois de executar a query efetuo o commit na transação que
  MW>>> esta ligada a query, não retorna erro mas tambem não commita.
 MW>>
  MW>>> Ai vem a pergunta.. o commit não vale para metadata?
 MW>>
  MW>>> Rodo esses mesmo sql no ibexpert e funciona, desde que efetue o commit
  MW>>> clicando no botão de commit na barra de ferramentas.
 MW>>
MW>  
MW>>
MW>  
 MW>>> -=Ma®©oS=-
  MW>>> Marcos R. Weimer
  MW>>> Delphi / C# / ASP.NET / WebServices / Firebird
MW>  
MW>  
MW>  ______________________________________________
MW>  FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
MW>  Para saber como gerenciar/excluir seu cadastro na lista, use:
MW> http://www.firebase.com.br/fb/artigo.php?id=1107
MW>  Para consultar mensagens antigas: http://firebase.com.br/pesquisa
MW>  









Mais detalhes sobre a lista de discussão lista