Re: [firebase-br] Cantu, esta é para vc -> PROBLEMA AO ATUALIZAR UM REGISTRO DE UMA TABELA ->
marcio itarget
marcio em itarget.com.br
Sex Ago 19 21:12:28 -03 2005
quanto a isto tenho uma rotina que desvia qualquer exceção do banco para um
procedimento. no form principal coloco:
Application.OnException := AppException;//onde APPexception é uma função
que trata erros de todo tipo que podem acontecer na aplicação....
o problema é que ao puxar o cabo(ou perder a conexão com a net). não tem
como eu dá um TABSRV.FBTFCSRV.RollbackRetaining
pois o FBTFCSRV se refere a um banco que está na net... ai tá o problema que
gera a mensagem
"LOCK CONFLIT ON NO WAIT >>>> TRANSACTION".
----- Original Message -----
From: "Alisson" <arsuart em uol.com.br>
To: <lista em firebase.com.br>
Sent: Friday, August 19, 2005 10:32 AM
Subject: Re: [firebase-br] Cantu, esta é para vc -> PROBLEMA AO ATUALIZAR UM
REGISTRO DE UMA TABELA ->
> 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
>>
>
>
>
>
>
--------------------------------------------------------------------------------
______________________________________________
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