[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