[firebase-br] Firebird 2.5 "Objet in use" ao executar uma procedure

Gladiston Santana gladiston em vidy.com.br
Qua Ago 29 14:49:00 -03 2018


Nobre colega, você não consegue modificar uma procedure enquanto ela ainda
estiver em uso por outra pessoa, o mesmo ocorre para outros metadados.
Com programação em PHP é raro essa mensagem provavelmente porque eu
trabalho com stateless, isto é, abro e fecho conexões a todo instante.
Mas usando Delphi eu vejo esse problema com frequencia quando tento um
'alter table' em ambiente de produção.
Este problema pelo que vejo não tem nada a ver com transação ou lock de
registro, basta que o usuário a tenha disparado a SP uma unica vez e
daquele momento em diante - mesmo que não seja disparada novamente - a SP
estará em uso até que  faça a desconexão com o BD.
No meu caso, uso com Firedac.
Há na internet um parametro que dizem resolver o problema, eu tentei e não
resolveu por isso não vou lhe passar.

[]´s

Em 29 de agosto de 2018 09:34, Antonio Carlos <a.lima.silva em terra.com.br>
escreveu:

> Caros estou tendo o seguinte erro :
>
> SqlCode -904 , GdsCode 335544453, Erro : Object PROCEDURE SP_PROCESSA
> is in use
>
> Uso DBExpress e no componente de conexão (waitonlocks=True ;
> isolationlevel=ReadCommitted) e a cada transação explicita (T :=
> Conn.BeginTransaction(TDBXIsolations.ReadCommitted);)
>
> A procedure em questão NÃO MODIFICA executa apenas selects, updates e
> inserts, não faz criação de tabelas temporárias ou views, eu so vi esse
> tipo de erro quando se tenta alterar fisicamente um objeto do banco com ele
> em uso.
>
> Alguma luz ?
>
>
>



Mais detalhes sobre a lista de discussão lista