[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