[firebase-br] Re: PROBLEMA AO ATUALIZAR UM REGISTRO DE UMA TABELA -> LOC
marcio itarget
marcio em itarget.com.br
Ter Ago 16 16:13:56 -03 2005
não estou entendendo o problema da mg abaixo nao poder ser postada...
----- Original Message -----
From: <lista-owner em firebase.com.br>
To: <marcio em itarget.com.br>
Sent: Tuesday, August 16, 2005 4:08 AM
Subject:
=?Windows-1252?Q?PROBLEMA_AO_ATUALIZAR_UM_REGISTRO_DE_UMA_TABELA_-=3E_LOC?=
=?Windows-1252?Q?K_CONFLIT_ON_NO_WAIT_TRANSACTION._URGENTE.?=
=?Windows-1252?Q?_=3E=3E=3E=3E=3EPROBLEMA_S=C9RIO=3C=3C=3C=3C=3C?=
O tipo de conteúdo da mensagem não foi permitido explicitamente
VOU DESCREVER O PROBLEMA PRIMEIRAMENTE COMO ACONTECEU. ESTAVA TESTANDO
CONSISTENCIA DO FB AI RESOLVI USAR O TRACE DO DELPHI(F5) PARA DEPURAR AS
MUDANÇAS. NUM DETERMINADA TABELA COLOQUEI A MESMA EM ESTADO DE EDIÇÃO E AI
DEPOIS DE ATRIBUIR OS NOVOS VALORES PARA UM DETERMINADO REGISTRO
PRE-EXISTENTE, O CODIGO SEGUE-SE COM UM POST E DEPOIS UM COMMITRETEAING.
COMO ESTÁ ABAIXO:
TABSRV.FBQPDV.EDIT;
TABSRV.FBQPDVCOD_VERSAO_PDV.VALUE:=VERSAO_PDV_C;
TABSRV.FBQPDV.POST;
IF TABSRV.FBTFCSRV.InTransaction THEN
TABSRV.FBTFCSRV.CommitRetaining
ANTES DE EXECUTAR O COMMITRETAINING EU PUXEI O CABO DE REDE E AI O DELPHI
ACUSOU A PERDA DE CONEXÃO DA REDE. ATÉ AI TUDO BEM. SÓ QUE QUANDO VOLTEI A
EXECUTAR O MESMO TRECHO DE CÓDIGO, AI QUANDO SE APLICA O POST O PROGRAMA DÁ
A SEGUINTE MENSAGEM(DIGO O FB)-> "LOCK CONFLIT ON NO WAIT TRANSACTION".
DETALHE QUE MEU COMPONENTE TRANSACTION ESTA COMO
"read_committed,rec_version,nowait..."
E ESTE REGISTRO SÓ CONSIGO REALMENTE ALTERÁ-LO SE DÉ UM BACKUP E RESTORE NO
BANCO DE DADOS(O PRO MAIOR É QUE O BANCO ESTÁ REMOTO NA INTERNET E COM
100MB), ou encerrar e reiniciar o FB. MINHAS DÚVIDAS:
1) POR QUE O ERRO
2) COMO CONSERTÁ-LO E PODER ALTERAR O REGISTRO SEM Q PRECISE FAZER UM
BACKUP-RESTORE NO BANCO...
3) SE SÓ O BACKUP-RESTORE FOR A SOLUÇÃO QUAL A MELHOR FERRAMENTA PARA FAZER
ISTO JÁ QUE O BANCO ESTÁ NA INTERNET...
OBRIGADO ANTECIPADAMENTE.
Mais detalhes sobre a lista de discussão lista