Nelson Pereira Júnior escreveu:

>Pessoal, uso a ZeosLib com PG.
>
>No entanto, não estou conseguindo controlar as transações.
>
>Quando abro uma tela de edição, uma transação deveria ser iniciada. Quando 
>fecho, essa transação deverá ser fechada.
>
>Esse é o meu conceito de transação.
>  
>
Bom, sendo bem direto. Seu conceito de transação está errado.

>No entanto, o controle transacional do ZeosLib está no próprio componente 
>Connection. Dessa forma, em meu sistema que permite que várias telas de 
>edição sejam abertas simultaneamente, se quisesse ter um controle de 
>transações como mencionado teria que colocar um Connection para cada tela de 
>edição.
>
>O que vocês acham dessa forma como a ZeosLib implementaram o controle 
>transacinal? 
>  
>
Essa é a forma correta de implentar o controle transacional. Setando a 
transação por conexão. Veja por exemplo em java o início, cancelamento 
ou confirmaçao de uma trasação sao métdos do objeto connection. Nesse 
caso deve ser aberta uma conexao para cada transacao concorrente. A 
lógica da implentaçao de transaçao é que um mesmo cliente (representado 
por uma conexao) nao tem necessidade de concorrer consigo mesmo.

Isso me leva a crer que voce nao está entendendo o conceito e a 
implentaçao do controle de trasaçoes.

Imagine que um mesmo cliente provavelmente nao vai fazer simultaneamente 
1 pedidos de compra e dar baixa  no mesmo produto em n janelas.

O correto agora para detalhar o processo é o amigo usar componentes SQL 
para entao controlar manualmente as trasações via SQL com begin, commit 
e rollback mas acho que não seja exatamente o caso.

>_______________________________________________
>Grupo de Usuários do PostgreSQL no Brasil
>http://www.postgresql.org.br
>
>  
>

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a