[firebase-br] RES: Select dentro do controle transacional

Eduardo Jedliczka jedyfb em gmail.com
Sex Jun 26 17:34:11 -03 2009


Felix,

quanto você não abre uma transação, o componente abre uma
"automaticamente" para você. Só que, se você não fecha, ele TAMBÉM não
fecha.

ao usar o IBX, é preciso ter muito cuidado com o modelo transacional.
Durante o desenvolvimento recomendo sempre testar o software com alguns
computadores simulando um acesso concorrente, e vendo as variáveis do
GFIX -H para ver as "deficiências" do sistema.

Só que o IBX tem uma limitação, ao commitar uma transação, o seu dataset
é fechado, por isto sugeri que se tenha uma única transação
read-commited, read-only (válidas para todos os grids e selects e
relatórios do sistema que não gravam nada no banco) e transações
específicas e explícitas para cada rotina que atualiza os dados do
banco.

Abraço

Em Sex, 2009-06-26 às 17:08 -0300, Felix escreveu:

> Estou usando o componente TIBQuery da paleta Interbase do Delphi 6.
> (Criticas / sugestões quanto aos componentes também são bem vindas.)
> 
> O componente permite ações sem ligação a uma TIBTransaction; MAS TODOS os
> INSERTS / UPDATE / DELETE / e uso de STORE PROC estão sendo controlados por
> uma transação com commit / rollback.
> 
> Fco. Felix
> Desenvolvimento de Sistemas
> www.soltecnologia.com.br
> 
> 
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
> nome de João Dias
> Enviada em: sexta-feira, 26 de junho de 2009 15:49
> Para: FireBase
> Assunto: Re: [firebase-br] Select dentro do controle transacional
> 
> Bem colocado Eduardo
> 
> Depende do componente, ou da forma como você esta trabalhando com ele. 
> Se você quiser controlar todas as transações explicitamente ou se a 
> forma de acesso que você possui não da  suporte a controle implícito, 
> convém que se tenha controle transacional. Mas o fato é se não há como a 
> forma de conexão controlar as transações abertas o melhor mesmo em vez 
> de codificar uma transação para cada comando Select seria dar um TimeOut 
> para o servidor derrubar uma transação ativa ou alguma sugestão melhor
> 
> Espero ter ajudado
> 



Mais detalhes sobre a lista de discussão lista