=?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