=?ISO-8859-1?Q?Re: [firebase-br] Cantu, esta =E9 para vc -> P =3D?iso-8859-1?Q?ROBLEMA=5FAO=5FATUALIZAR=5FUM=5FREGISTRO=5FDE=5FUMA=5FTABELA=5F-=3D3E=5F?=3D?=

Pha (TeamFB) lista em pha.com.br
Sex Ago 19 15:16:20 -03 2005


E voce desconectar e conectar novamente o banco na aplicacao resolve o problema?

Se sim, voce tera que trabalhar com componentes desconectados se nao quiser perger os dados como o TClientDataSet.

PHA 
Nova Odessa / SP - Brazil
Membro do TeamFB (FireBase)

-----Mensagem original-----
From: "marcio itarget" marcio em itarget.com.br
Date: Fri, 19 Aug 2005 16:07:42 -0300
To: "FireBase" lista em firebase.com.br
Subject: Re: [firebase-br] Cantu, esta é para vc -> P	=?iso-8859-1?Q?ROBLEMA_AO_ATUALIZAR_UM_REGISTRO_DE_UMA_TABELA_-=3E_?=

> 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 
> 
> 
> ______________________________________________
> 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