[firebase-br] Cantu, esta é para vc -> PROBLEMA AO ATUALIZAR UM REGISTRO DE UMA TABELA ->

Alisson arsuart em uol.com.br
Sex Ago 19 15:32:26 -03 2005


Cara... esse seu comando....

TABSRV.FBQPDV.EDIT;
>>>        TABSRV.FBQPDVCOD_VERSAO_PDV.VALUE:=VERSAO_PDV_C;
>>>        TABSRV.FBQPDV.POST;
>>>        IF TABSRV.FBTFCSRV.InTransaction THEN
>>>           TABSRV.FBTFCSRV.CommitRetaining

Esta em um Try e Except...???
pq c nao estiver. faça o seguinte...

Try
     TABSRV.FBQPDV.EDIT;
     TABSRV.FBQPDVCOD_VERSAO_PDV.VALUE:=VERSAO_PDV_C;
     TABSRV.FBQPDV.POST;
     IF TABSRV.FBTFCSRV.InTransaction THEN
          TABSRV.FBTFCSRV.CommitRetaining
Except
    TABSRV.FBTFCSRV.RollbackRetaining;

Isso vai garantir q jah q ele bloqueou teu registro para comitar.. ele de um 
rollback na transação e deixo o registro livre..!!!!
simulei algo parecido com isso aqui.. e pra mim nao houve problema... soh 
nao tenho o banco na internet.. esta em rede lokal..!!!

falow...

-- 
Abraços

Alisson

"marcio itarget" <marcio em itarget.com.br> escreveu 
na mensagem news:001d01c5a4fb$5d538b70$4d00a8c0 em ITNOTEBOOK...
>
>
>>> 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.
>>>
>>>
>>>
>>>
>>
>>
>> ______________________________________________
>> 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
>>
>>
>
>
> ______________________________________________
> 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
> 







Mais detalhes sobre a lista de discussão lista