[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