[firebase-br] Erro de lock conflict

Edson Marco Ferrari Junior edmafer em gmail.com
Qui Jun 1 00:00:59 -03 2006


Daniel não sei se é este o seu caso. Mas programadores Delphi (sou um
deles) possui o péssimo defeito de abrir a transação no inicio do
programa e somente finaliza-la no término do programa.

Com isto a transação fica aberta, e quando outro programa (ou outra
instancia do mesmo) tenta acessar o mesmo dado, ele trava ou gera dead
lock.

Se for o seu caso, repense a maneira como você trabalha com
transações. Sómente inicie uma transação quando for haver alguma
alteração no banco, e quando terminar esta alteração, encerre a
transação.

On 5/31/06, Alessandro Lúcio Cordeiro da Silva
<alecordeirosilva em yahoo.com.br> wrote:
> Bom Daniel, se atentarmos para a 1º mensagem que aparece
>   "lock conflict on no wait transaction", você deve ter algum outra transação que não foi Commitada, que esta acessando este mesmo registro ao mesmo tempo, depois deste conflito ele tenta inserir este registro, mas parece que não enxerga ele porque é de outra transação. Acredito que você deve rever como você trata as transações concorrente. No site do firebird explica varios tipos de como o Firebird trata.
>
> Daniel Viana <daniel em jbcinformatica.com.br> escreveu: Bom dia,
>
> Temos uma aplicação que roda com Firebird e Delphi 6 em 3 camadas (datasnap).
> De vez em quando, quando vamos incluir algum
> registro em uma tabela chamada HISTORICO,
> o Firebird retorna o seguinte erro :
>
> Erro : lock conflict on no wait transaction
> violation of FOREIGN KEY constraint "INTEG_33" on table "HISTORICO"
>
> Seria correto se realmente existisse violação de
> chave, mas *não* há. Tanto que ao tentar incluir
> de novo logo após dar o erro, funciona.
>
> O que pode ser isso ? O erro é intermitente,
> ocorre com alguma frequência, mas não conseguimos
> reproduzir quando queremos.
>
> Obrigado,
> Daniel
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> ---------------------------------
>  Abra sua conta no Yahoo! Mail - 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>


-- 
/*
 * Edson Marco Ferrari Junior
 * edmafer em gmail.com
 * http://www.itasoa.com.br (no dia que funcionar eu aviso)
 */




Mais detalhes sobre a lista de discussão lista