[firebase-br] RES: RES: Alterar Stored procedure com banco em uso

Carlos H. Cantu listas em warmboot.com.br
Qua Abr 17 21:24:46 -03 2013


Então está explicado. Pela natureza do SuperServer (o cache de
metadata é compartilhado entre as conexões), as chances do problema
relatado acontecer são menores do que no Classic/SC, onde o cache de
metadata não é compartilhado.

A partir do Firebird 2.1, esse problema diminuiu, mas as vezes ainda
ocorre.

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

WG> Faço a alteração numa estação Windows com SuperServer e no servidor Linux é
WG> o Classic.
WG> []s

WG> Wilson

WG> -----Mensagem original-----
WG> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Carlos H. Cantu
WG> Enviada em: quarta-feira, 17 de abril de 2013 13:10
WG> Para: FireBase
WG> Assunto: Re: [firebase-br] RES: Alterar Stored procedure com banco em uso

WG> Não acredito que o problema seja o sistema operacional. Por acaso você
WG> está usando SuperServer no Windows e SuperClassic/Classic no Linux?

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

AC>> Eu tenho um problema semelhante que não consigo resolver, mas acho que
WG> tem
AC>> relação com o SO. Em meus sistemas não tenho problemas em realizar
AC>> alterações em SPs de banco em produção quando o SO do servidor é
WG> windows.
AC>> Tenho apenas um cliente em que o servidor é linux e nesse caso já
WG> desisti
AC>> de tentar. FB só deixa eu efetuar as alterações se os usuários saírem do
AC>> programa. Nem é preciso reiniciar o serviço. Já nos servidores com
WG> windows
AC>> isso não acontece.

AC>> Isso tudo usando a mesma base de dados (restaurada no servidor) e os
WG> mesmos
AC>> aplicativos clientes.

AC>> Concordo que seja gerencia de transação, só não entendo a diferença de
AC>> bloquear no linux e não no windows.


AC>> Em 8 de março de 2013 01:50, Brunno Bettini <brunnobb em gmail.com>
WG> escreveu:

>>> Um "create or alter procedure" resolve para as proximas transações...
>>> Tente para ver se dá certo aí
>>>
>>> *
>>> *
>>> *Att*
>>> *
>>> *
>>> *Brunno Bettini*
>>> *brunnobb em gmail.com*
>>> *
>>> *
>>>
>>>
>>> Em 28 de fevereiro de 2013 15:13, Gladiston Santana
>>> <gladiston em vidy.com.br>escreveu:
>>>
>>> > Eu raramente tenho problemas com usuários online não me deixarem
WG> alterar
>>> > uma SP.
>>> > Já aconteceu, mas é muito raro, tanto que no retry seguinte eu consigo.
>>> > Talvez porque meus componentes raramente usem persistencia de dados e
>>> > minhas transações acontecem e depois vem o commit, e então a aplicação
>>> faz
>>> > o refresh. Esse método casca-grossa sempre me manteve no eixo porque
>>> quase
>>> > tudo eu faço no lado server.
>>> >
>>> >
>>> > Gladiston Santana
>>> > Departamento de TI
>>> > Grupo Vidy
>>> > Tel (11) 4787-3122 ramal 228
>>> > Rod. Régis Bittencourt 3360 - Km 272,5
>>> > Taboão da Serra - SP - CEP: 06793-000
>>> > Visite nosso site: www.vidy.com.br
>>> > Visite também : www.expolabor.com.br
>>> >
>>> >
>>> >
>>> >
>>> > Em 28 de fevereiro de 2013 10:24, Wilson - GMail <wmotasjrp em gmail.com
>>> > >escreveu:
>>> >
>>> > > Obrigado pela resposta.
>>> > > O problema é alterar a procedure com o banco em uso sem ter que
>>> > interromper
>>> > > o serviço de FB, tem como?
>>> > > []s
>>> > >
>>> > > Wilson
>>> > >
>>> > >
>>> > >
>>> > > -----Mensagem original-----
>>> > > De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Gladiston
>>> > > Santana
>>> > > Enviada em: quinta-feira, 28 de fevereiro de 2013 10:15
>>> > > Para: FireBase
>>> > > Assunto: Re: [firebase-br] Alterar Stored procedure com banco em uso
>>> > >
>>> > > A primeira mensagem geralmente está ligada a truncamento de valores.
>>> > > Por exemplo, um parametro da procedure é varchar(30) e voce tenta
>>> passar
>>> > > como parametro uma palavra mais extensa do que varchar(30). Ocorre
>>> tambem
>>> > > com tipos diferentes, alguns valores como data/hora aceitam valores
>>> como
>>> > > string e o FB converte para timestamp/date/time mas se a string
WG> estiver
>>> > mal
>>> > > formatada, erro.
>>> > > O restante pode ser em decorrência do primeiro erro.
>>> > >
>>> > >
>>> > > Gladiston Santana
>>> > > Departamento de TI
>>> > > Grupo Vidy
>>> > > Tel (11) 4787-3122 ramal 228
>>> > > Rod. Régis Bittencourt 3360 - Km 272,5
>>> > > Taboão da Serra - SP - CEP: 06793-000
>>> > > Visite nosso site: www.vidy.com.br
>>> > > Visite também : www.expolabor.com.br
>>> > >
>>> > >
>>> > >
>>> > >
>>> > > Em 28 de fevereiro de 2013 09:26, Wilson - GMail
>>> > > <wmotasjrp em gmail.com>escreveu:
>>> > >
>>> > > > Olá pessoal.
>>> > > > Trabalho com Delphi 7 e Firebird 2.1.
>>> > > > Tenho uma stored procedure que esta me retornando a mensagem :
>>> > > > "Arithmetic exception, numeric overflow, or string truncation"
>>> > > > Quando tento alterar a procedure me retorna o erro...
>>> > > > "can't format message 13:00 -- message system code -4.
>>> > > > Lock conflict on no wait transaction.
>>> > > > Unsuccessful metadata update
>>> > > > Object relacao_tinta is in use."
>>> > > >
>>> > > > Só consigo alterar a procedure se interrompo o serviço do FB e
>>> levanto
>>> > > > novamente, porque ai não tem ninguém conectado.
>>> > > > Existe alguma forma de alterar com o banco em uso?
>>> > > > []s
>>> > > >
>>> > > > Wilson





Mais detalhes sobre a lista de discussão lista