[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