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

Gladiston Santana gladiston em vidy.com.br
Sex Ago 31 09:31:50 -03 2018


Pior que isso, todos que usaram a procedure devem fechar.
Então imagina atualizar uma procedure dentro de um serviço de telemarketing
em andamento.
Algum tempo atrás, eu li na internet que isso ocorria porque há um cache de
metadados dentro do servidor e que era isso que mantia o objeto em uso, é
como um prepare implicito para as chamadas de procedures, views e triggers
onde só se desfaz na desconexão (ou talvez no hardcommit não sei). No
classic essa ocorrência diminui porque é um cache para cada conexão, e este
é o que tenho usado na maioria das vezes então não há problema, a não ser o
consumo maior de memória.

Mas esse comportamento não acontece quando programo com o php, muito
provavelmente porque as conexões são efemeras e até o momento só aprendi a
usar o php dessa forma. Vi uns videos de alguns usando o Delphi com dbgrid
e o que parece tedits e outros controles e conexão stateful, mas isso ainda
não entrou na minha cabeça em como fazer, se tiver interesse dê uma olhada
no Delphi Academy e procure por desenvolvimento WEB:
https://www.youtube.com/playlist?list=PLlUDMEtO0HdTXlSbL5GkXCSjpvbuX15dX

[]´s

Em 29 de agosto de 2018 16:18, Ricardo Rodrigues <ricardopd em gmail.com>
escreveu:

> Ou seja, fecha o sistema, altere o banco e continue a vida
>
> Em qua, 29 de ago de 2018 14:51, Gladiston Santana <gladiston em vidy.com.br>
> escreveu:
>
> > 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 ?
> > >
> > >
> > >
> > ______________________________________________
> > 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://www.firebase.com.br/pesquisa_lista.html
> >
> ______________________________________________
> 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://www.firebase.com.br/
> pesquisa_lista.html
>



-- 
A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
na Melhoria Continua.

Em março de2018 migramos com sucesso para a nova versão da ISO 9001.

Somos a única Empresa Brasileira de Engenharia de Laboratórios com
certificação com o Escopo Completo; desde Projetos, Engenharia, Construção,
Fabricação e Instalação de Laboratórios.



Mais detalhes sobre a lista de discussão lista