[firebase-br] Melhor acesso Firebird usando Delphi ( 7 )

Magno System magno em speet.com.br
Qua Nov 21 14:29:01 -03 2007


"No meu entender o Zeos tem um bug, não olhei as outras versões. eu
tenho a 6.1.5.

Tu só consegue usar o StartTransaction se o AutoCommit estiver true, bem
esse não é o problema, uma vez que o StartTransaction do Zeos não starta
nada, a não ser passar o AutoCommmit para False, e incrementar a variavel
FExplicitTransactionCounter.

Dessa forma (AutoCommit=False) é possível chamar o método Commit do
componente ZConnection, esse então, chama o commit do protocolo em uso
(IB/FB/mySQL).

O Bug está na parte do commit do ZConnection, que só é chamado se a variavel
FExplicitTransactionCounter for menor que 2 (dois), segundo os comentários
do autor, se for 0 (zero) o AutoCommit foi setado como False, e se for 1
(um), o StartTransaction foi usado explicitamente.

Porém durante o StartTransaction, o conteúdo da variavel não é testada, e se
já contiver o valor  1 (um), ela será incrementada para 2 (dois), uma vez
que o commit só é efetuado se ela for menor que 2 (dois), è durante o Commit
que o AutoCommit é setado como True novamente.

Bom, quando o método ZConnection1.Disconnect for chamado, um RollBack é
efetuado, pois o AutoCommit vai estar False, e o "hard" Commit só é
efetuado, se o AutoComiit tiver true.

Isso pode acontecer se vc chamar o StartTransaction duas vezes, por engano,
erro de projeto, ou ainda se o commit falhar por erro interno (memória,
windows etc...)

A solução é simples, basta colocar um teste no incremento da variável
FExplicitTransactionCounter, se ela já estiver valendo 1, é pq já existe uma
transação explicita em andamento."

Fonte: Lista da Firebase.

Me pareceu um argumento válido, agora, você pode concordar ou não, mas que 
eu tinha problema de perdas em ALGUNS POUCOS clientes e que foram resolvidos 
com a mudança para o dbexpress.



EMPRESA: Marcelo Guimarães Nogueira
NOME FANTASIA: Magno System
ENDEREÇO: Rua Oliveira Leite, 66 - Centro - Passa Quatro - MG
EMAIL: magno em speet.com.br
CNPJ: 07.693.076/0001-99

Marcelo Guimarães Nogueira
Magno System (Empresa Desenvolvedora de Software)
----- Original Message ----- 
From: "Paulo Veiga" <pjfveiga em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, November 21, 2007 11:55 AM
Subject: Re: [firebase-br] Melhor acesso Firebird usando Delphi ( 7 )


Boas,

ZEOS tem bug no commit resultando em perda de dados

onde foi buscar isso?

Paulo.

On Nov 21, 2007 12:58 PM, Artur Luiz <artur em turzi.com.br> wrote:
> Bom dia, voce tem link ou site deste componente."IBO"
>
>  Wed, 21 Nov 2007 03:40:37 -0300, "Magno System" <magno em speet.com.br> 
> escreveu:
>
> > Já trabalhei com BDE, zeos, dbexpress e agora IBO. Bem, resumindo, BDE
> > esqueça, ZEOS tem bug no commit resultando em perda de dados, DBEXPRESS
> > ótimo componente. Agora o IBO É IMCOMPARÁVEL!!! EXCELENTE 
> > INVESTIMENTO!!!!
> >
> > EMPRESA: Marcelo Guimarães Nogueira
> > NOME FANTASIA: Magno System
> > ENDEREÇO: Rua Oliveira Leite, 66 - Centro - Passa Quatro - MG
> > EMAIL: magno em speet.com.br
> > CNPJ: 07.693.076/0001-99
> >
> > Marcelo Guimarães Nogueira
> > Magno System (Empresa Desenvolvedora de Software)
> > ----- Original Message -----
> > From: "Marcus Vinícius Moreira" <marquinhus em gmail.com>
> > To: <lista em firebase.com.br>
> > Sent: Tuesday, November 20, 2007 10:45 PM
> > Subject: [firebase-br] Melhor acesso Firebird usando Delphi ( 7 )
> >
> >
> > Olá pessoal!!!
> > Finalmente, qual o melhor acesso ao Firebird, utilizando o Delphi?
> >
> > Estou começando agora, e vi vários... preciso conhecer experiência, para
> > não ficar perdido (e já estou)!
> >
> > Agradeço...
> >
> > --
> > Marcus Vinícius Moreira
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
> >
> >
> > --
> > No virus found in this incoming message.
> > Checked by AVG Free Edition.
> > Version: 7.5.503 / Virus Database: 269.15.33/1132 - Release Date: 
> > 15/11/2007
> > 09:34
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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.locador.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.locador.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


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.503 / Virus Database: 269.15.33/1132 - Release Date: 15/11/2007 
09:34






Mais detalhes sobre a lista de discussão lista