[firebase-br] Transacoes no DBExpress (Conclusao)

Paulo Geloramo paulogeloramo em terra.com.br
Qua Maio 18 19:48:46 -03 2005


Uma solução que tentei foi fechar a transacao corrente
no evento onClose do form, mas sem sucesso, pois
o Commit exige o ID da transação, Como obter o ID da
transação corrente?

if SQLConnection1.InTransaction then
  SQLConnection1.Commit(????);

[]s
Paulo Geloramo


-----Mensagem Original----- 
De: "Pha-Lista" <lista em pha.com.br>
Para: "FireBase" <lista em firebase.com.br>
Cc: <cflp_suporte em yahoogrupos.com.br>
Enviada em: quarta-feira, 18 de maio de 2005 15:50
Assunto: [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 





Mais detalhes sobre a lista de discussão lista