[firebase-br] Erro ao executar command para criar trigger ou SP

Cássio cassio.hc em gmail.com
Qui Jul 23 11:52:35 -03 2009


dae cara... funcionou tirando os SET TERM... obrigado pela ajuda... 
grande abraço!

Sandro Souza escreveu:
> Bom dia/tarde Cássio.
> 
> Grande Cássio, nesse caso, faço minhas as palavras de nosso amigo Ivan, que
> sugeriu que tentasse executar o código de criação da trigger sem o "SET
> TERM.....".
> 
> Esse "pulo do gato" funciona com os componentes do Delphi.
> 
> Espero ter ajudado mais que atrapalhado. :D
> 
> 2009/7/23 Cássio <cassio.hc em gmail.com>
> 
>> Dae Forrest
>>
>> Cara eu uso VS.NET... uso assim:
>>
>>
>> Dim Query As New FbCommand 'declara um objeto command
>> query.CommandText = querySql 'passa o script(trigger) para o command.
>> Query.Connection = connDB 'passa a conexão para o objeto command
>> Query.ExecuteNonQuery() 'executa o command
>> Query.Dispose() 'fecha
>>
>>
>> cara, funciona com qualquer script do tipo create table, inserts, deletes,
>> updates, create view, MENOS, SPs e trigger...
>>
>> []s
>>
>>
>> Forrest® escreveu:
>>
>>  No dia 23/07/2009  às 10:42:31 catando milho no teclado Cássio  "
>>> escrivinhou "  o texto abaixo :
>>>
>>>  opa.
>>>> seguinte criei um atualizador de banco de dados para a minha aplicação.
>>>> então pego um script e executo via command no banco de dados. Funciona
>>>> certinho, exceto quando tenho uma criação de uma trigger ou store procedure.
>>>> O script que dá problema é esse por exemplo:
>>>>
>>>> SET TERM ^ ;
>>>>
>>>> CREATE TRIGGER TR_ALTERAR_LOC FOR LOCACOES
>>>> ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
>>>> AS
>>>> begin
>>>>      IF (INSERTING) then
>>>>       BEGIN
>>>>          UPDATE IMOVEIS SET IMOVEIS.LOCADO=1
>>>>          WHERE NEW.ID_IMOVEL=IMOVEIS.ID_IMOVEL;
>>>>       END
>>>> end^
>>>> SET TERM ; ^
>>>>
>>>> /*o comando termina aqui */
>>>>
>>>> ai retorna este erro:
>>>>
>>>> Msg de Erro: Dynamic SQL Error
>>>> SQL error code = -104
>>>> Token unknown - line 6, char 5
>>>> TERM
>>>>
>>>> o que me parece é que o command não concegue interpretar o "SET TERM ; ^"
>>>> que é a terminação da trigger no firebird.
>>>>
>>>> pergunto, alguem tem alguma ideia para eu resolver isso?
>>>> no IBExpert funciona normalmente. algum detalhe que não estou
>>>> considerando. vlw.
>>>>
>>> Bom dia Cassio
>>>
>>> Que componentes você está usando para executar esses scripts???
>>>
>>> T++++++++++++
>>>
>>>
>>> ----------------------------------------------------------------------------------
>>>
>>> Os velhos gostam de aconselhar, porque perderam a capacidade de dar maus
>>> exemplos ! ! !
>>>
>>>
>>>
>>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista