TransactionID ClientDataset

Delphi

04/03/2004

Ola todos!

Como utilizar corretamente o [b:ffbd4996c0]TransactionID[/b:ffbd4996c0]?
O valor atribuido ao [b:ffbd4996c0]TransactionID [/b:ffbd4996c0]deve ser único? O que acontece se dois usuários iniciarem uma transação com o mesmo [b:ffbd4996c0]TransactionID[/b:ffbd4996c0]?
Como definir um valor único?

Obrigado.


Emanoel

Emanoel

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

04/03/2004

O TransactionId deverá ser único e não poderá ser repedito enquanto uma transação estiver ativa. Se dois usuários iniciarem uma transação com o mesmo TransactionId, irá ocorrer erro. Eu, particularmente, defino o meu TransactionId com valores diferentes para cada transação que inicio no banco de dados, evitando assim qualquer erro relacionado ao assunto. Em relação a definição de valores único, é possível, bastanto para isso que não exista nenhuma outra transação ativa no seu banco de dados com o mesmo transactinId: EX: Só abra outra transação com o mesmo transactionId se a anterior já estiver sido finalizada (Commit).... :twisted: :twisted:


GOSTEI 0
Emanoel

Emanoel

04/03/2004

Ok.

Então como devo criar valores únicos para o TransactionId?

Digamos que vários usuários acessem o meu programa ´ao mesmo tempo´. Tenho que definir um valor único para cada certo?
Como verificar se uma transação já foi finalizada?

Obrigado.


GOSTEI 0
Rômulo Barros

Rômulo Barros

04/03/2004

Naum sei se tem como criticar para saber se algum TransactionId já está ativo. Vc criticar para saber se o banco está em transação:

If(SqlConnection.InTransaction(ATransacao : TTransactionDesc))Then
 ...


Pensando bem, a partir de sua dúvida, agora eu também estou com dúvidas... Será que vários usuários acessam simultaneamente a mesma tabela do banco daria erro?

:?: :?: :?: :?: :?: :?:


GOSTEI 0
Rômulo Barros

Rômulo Barros

04/03/2004

Naum sei se tem como criticar para saber se algum TransactionId já está ativo. Vc criticar para saber se o banco está em transação:

If(SqlConnection.InTransaction)Then
 ...


Pensando bem, a partir de sua dúvida, agora eu também estou com dúvidas... Será que vários usuários acessam simultaneamente a mesma tabela do banco daria erro?

:?: :?: :?: :?: :?: :?:


GOSTEI 0
Rômulo Barros

Rômulo Barros

04/03/2004

Pesquisei, e achei algo a respeito: Poderemos utilizar o componente TSession para resolver este problema.


GOSTEI 0
POSTAR