[firebase-br] Aviso de conflito de registro no interbase 7.0.1
Marcos Angeloni
marcos.rossano em gmail.com
Sex Jan 27 09:37:29 -03 2006
Note, conforme e-mail anterior um dos parametros está NOWAIT. Só que mesmo
estando NOWAIT, o sistema(banco) não exibe a mensagem de erro em modo de
execução. exibe somente a mensagem de erro(conflito de chave primária ou
registro locado) rodando a aplicação a partir do delphi.
obrigado.
Em 26/01/06, Fortes Marcelo <marcelosoftware em yahoo.com.br> escreveu:
>
> Você tem que checar a a configuração de resolução de travamento de
> transação do sua classe de controle de transações ou do seu dataset conforme
> o componente de acesso que você usar, acredito que você esteja usando o IBX.
>
> Se estiver configurada a transação para NOWAIT as outras transações irão
> retornar um erro imediatamente ao tentar fazer um update em um registro ou
> linha que está sendo utilizada por uma transação mais antiga.
>
> O que deve estar acontecendo, eu suponho, é que você tem suas transações
> configuradas como WAIT.
>
> Se o travamento estiver configurado como WAIT as outras transações irão
> esperar até a primeira transação finalizar então irá prosseguir.
>
> Observe, que não são os componentes ou as classes de acesso que definem
> isso. Tudo é gerência do InterBase. Os componentes dão a interface de
> controle de como gerir as transações.
>
> Sugiro que estude bem e compreenda na íntegra o modelo de concorrência e
> travamento (Lock) do InterBase que ó o mesmo do Firebird, garante com
> certeza até uma aplicação mais rápida e segura.
>
> Estude sobre:
>
> Resolução de travamento e Modos de acesso:
> concurrency (snapshot), consistency (table stability), write, read, wait,
> nowait.
>
> O Cantu Escreveu um artigo excelente sobre as transações so site dele, tem
> uma do Claudio Valderrama que explica bem também:
> http://www.firebase.com.br/fb/artigo.php?id=232
>
> Bill Todd da Borland InterBase TeamB explana em detalhes (em inglês):
> http://bdn.borland.com/borcon2004/article/paper/0,1963,32280,00.html
>
> Marcelo Fortes.
>
> *Marcos Angeloni <marcos.rossano em gmail.com>* escreveu:
>
> Pessoal,
> estou enfrentando um problema com o interbase quanto a avisar quando um
> mesmo registro está sendo usado por mais de um usuário.
> acontece que o interbase nao avisa que está dando o conflito em modo de
> execução no cliente(usuario) com o executável do sistema.
>
> por exemplo:
> Quando um usuario vai fazer uma movimentação de caixa na empresa e ao
> mesmo tempo outro usuário faz uma venda onde esta venda inclui um
> movimento
> de caixa(pagamento com entrada). Ao tentar gravar a venda acontece erro de
> conflito de chave primária ou de registro locado(lock).
>
> isso eu descobri debugando a aplicação pelo delphi.
>
> O que fazer para que o interbase avise que existe o conflito de registro e
> o
> conflito de chave primária?
>
> Obrigado;
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
>
>
>
> ------------------------------
> Yahoo! doce lar. Faça do Yahoo! sua homepage.<http://us.rd.yahoo.com/mail/br/tagline/homepage_set/*http://br.yahoo.com/homepageset.html>
>
>
Mais detalhes sobre a lista de discussão lista