[firebase-br] Transacoes no DBExpress (Conclusao)

Pha-Lista lista em pha.com.br
Qui Maio 19 07:49:08 -03 2005


Rodrigo, posso ate montar alguma coisa so nao sei te dizer quando.

No meu dia a dia nao utilizo o DBExpress e nem o FB, mais utilizo o TClientDataSet + TDataSetProvider + TQuery com DB2/AS400, e em 90% do casos nao preciso me preocupar, Incluo, Altero e Excluo utilizando ClientDataSet, depois mando um ApplyUpdates(0) e o DataSetProvider faz o resto, somente em cadastros e processo mais complexo tenho que controlar as transacoes.  

A unica diferenca utilizando o FB e que o mesmo precisa de uma transacao aberta para fazer consultas no banco e esta transacao fica aberta por um logo periodo, quanto aos updates funciona da mesma maneira que o DB2 com BDE pois e o DataSetProvider que faz o trabalho.

Quanto a controlar as transacoes, respondi agora a pouco para o Paulo, de uma lida na mensagem, Ok.

PHA
Nova Odessa / SP - Brazil

-----Mensagem original-----
From: Rodrigo - Alma Informática Ltda	desenv28 em almainformatica.com.br
Date: Wed, 18 May 2005 17:16:05 -0300
To: "FireBase" lista em firebase.com.br
Subject: Re: [firebase-br] Transacoes no DBExpress (Conclusao)

> amigo,
> 
> sera que e possivel voce me passar e claro se tiver um exemplo de codigo
> fonte de como gravar, excluir, cancelar e alterar utilizando dbexpress
> utilizando transação uma vez em que vou utilizar os mesmos.
> 
> se tiver algum exemplo ok se não tiver não se preocupe.
> 
> abraços
> 
> 
> 
> Rodrigo
> 
> 
> ----- Original Message ----- 
> From: "Pha-Lista" <lista em pha.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Cc: <cflp_suporte em yahoogrupos.com.br>
> Sent: Wednesday, May 18, 2005 3:50 PM
> Subject: [firebase-br] Transacoes no DBExpress (Conclusao)
> 
> 
> > Analizando as transacoes com o GStart -h
> >
> > Cheguei as seguintes conclusoes.
> >
> > 1) O DBExpress executa um Commit e nao o CommitRetainig isso pode ser
> verificado no TSQLMonitor (
> > isc_commit_transaction).
> >
> > 2) Mais se uma consulta e executada no banco e nao ha nenhum transacao
> iniciada e criada uma internamente e esta transacao de leitura fica em
> aberto (isc_commit_retaining) ate que o banco seja desconectado.
> >
> > - Nao sei dizer se depois de algum tempo esta transacao e finalizada.
> >
> > - Como esta transacao geralmente e apenas para leitura, nao sei o quanto
> ele afeta no desempenho do FB, para os Updates uma transacao e iniciada e
> finaliza com Commit ou RollBack, isso e feito automaticamente pelo metodos
> PSStartTransaction, PSEndTransaction e PSInTransaction do TSQLDataSet ou
> manualmente pelo desenvolvedor.
> >
> > - Pode se evitar que a transacao de leitura fique aberta iniciando uma
> transacao para fazer as consultas e depois finalizando a com Commit, tem
> tambem a propriedade SQLDataSet1.TransactionLevel, que pode ser utilizada
> para indicar qual a transacao a ser utilizada, por padrao e 0 e a ultima
> transacao ativa e utilizada.
> >
> > 3) Com algumas mudancas nos componentes do DBExpress ele pode facilmente
> trabalhar como o IBX e o MDO com relacao as transacoes (quem sabe no futuro
> crio componentes descentes que trabalhem desta forma).
> >
> > Os teste foram feitos:
> >
> > Windows XP Professional SP 2 super atualizado
> >
> > FB 1.5.2 SS com o CollatePT_BR instalado na mesma maquina
> > Conexao=localhost:C:\Arquivos de programas\Firebird\examples\EMPLOYEE.FDB
> >
> > Delphi 6 UP 2 RTL 3
> > Componetes: TSQLConnection, TSQLDataSet, TSQLMonitor, TClientDataSet e
> TDataSetProvider
> >
> > LibraryName=dbexpint.dll
> > VendorLib=GDS32.DLL
> >
> > PHA
> > Nova Odessa / SP - Brazil
> >
> >
> >
> >
> 
> 
> ----------------------------------------------------------------------------
> ----
> 
> 
> ______________________________________________
> 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