[firebase-br] RES: lock conflit on no wait transaction

Contabiliza - Cristiano cpd em contabilizanet.com.br
Seg Maio 3 13:29:47 -03 2010


Obrigado pela ajuda pessoal, vou tentar resolver o problema com estas dicas,
E postarei o resultado,,vlw.

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Eduardo Pombo
Enviada em: segunda-feira, 3 de maio de 2010 13:10
Para: FireBase
Assunto: Re: [firebase-br] lock conflit on no wait transaction

Boa Tarde,

A transacao funciona basicamente como um bloqueio do registro para que
nao ocorra gravacoes simultaneas, por isso, quando uma segunda maquina
tenta acessar o registro que voce esta utilizando ele gera essa
mensagem. Se voce tem em uma tabela 500 registros e vai gravar mais um
pegado por exemplo o proximo numero para inserir por um " select
max(ID) from tabela " ele trara para voce o 501 e enquanto voce nao
der COMMIT ou ROLLBACK esse registro nao sera gravado efetivamente
para as outras maquinas ( basicamente ele nao existe para as demais
maquinas ), com isso para a outa maquina ela tambem ira pegar como
proximo numero o 501 e por isso ocorre o erro.

para sanar esse erro voce deve tomar algumas medidas como por exemplo:
- iniciar a transacao apenas no momento exato da gravacao porque voce
fica com o registro travado o minimo de tempo possivel;
- deixar para pegar o proximo numero tambem no momento da gravacao
- pode-se tambem utilizar triggers e generators e assim nao ter esse
problema ( mas a numeracao pode ficar pulada ).


Espero ter ajudado,



Em 3 de maio de 2010 12:49, Contabiliza - Cristiano
<cpd em contabilizanet.com.br> escreveu:
> Boa tarde pessoal,
>
>
>
> Comecei a utilizar transações num sistema que estou desenvolvendo e estou
me
> deparando com
>
> Este erro constantemente,, ele acontece quando eu inicio uma trasnsação,
na
> maquina onde inicia a transação
>
> O sistema continua funcionado perfeitamente, mais na outra maquina da rede
> quando
>
> Vou inserir novos dados no sistema dá o seguinte erro,
>
> Lock conflito on no wait transaction, estou utilizando delphi 7 , ibo
> objetct e firebird 1.5.
>
> O que vcs me aconselham fazer para cercar este erro? Lembrando que este
erro
> so
>
> Ocorre quando inicio uma transação.
>
> ______________________________________________
> 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
>



-- 

Atenciosamente

José Eduardo Pombo de Barros
Gerente de Manutenção de Sistemas

______________________________________________
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