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
