[firebase-br] Transações e Níveis de Isolamento

User-Ba meus.foruns em embytes.com.br
Sex Jun 10 14:45:10 -03 2005


Olá!

Me esclareçam por favor.
Optei por utilizar DBExpress para conectar com o FireBird.

----------------------------------------------------------------
Uma transação iniciada da forma abaixo:

...
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
.... INSERIR/ATUALIZAR/DELETAR

No caso -> xilREPEATABLEREAD ...
Seria o mais indicado quando para INSERTS e UPDATES e DELETES?

E para ler dados... Ex: Obter resultados para relatórios.
Neste caso se necessário iniciar uma Transação com um determinado nível 
de isolamento?
Se sim... Qual o Isolamento mais indicado?
----------------------------------------------------------------

----------------------------------------------------------------
No caso abaixo:

Transacao.TransactionID := 1;

Estou em dúvida também.
Nas aplicações clientes...
Digamos que X usuários fossem gravar o registro...
O código estaria iniciando em todas as estações ...
Uma transação com o ID "1".
Isto está correto?
Ou para cada estação eu teria que ter uma transação com um ID diferente.
Se sim... Como eu faria para gerar um ID que não está em uso?
----------------------------------------------------------------

----------------------------------------------------------------
Estou utilizando o Driver UIB (Firebird 1.5)
Na configuração do SQLConnection em "Connection Settings" tenho as opções:

-> CommitRetain (seria melhor deixar como false ou true?)
-> WaitOnLocks (seria melhor deixar como false ou true?)
-> InterBase TransIsolation (seria melhor deixar como "ReadCommited" ou 
"ReadCommited"?)

Na ultima configuração acima...
Uma definição diferente durante uma INSERT/UPDATE/DELETE
Sobrepõe o que foi definido no SQLConnection?

Ex:
Se no SQLConnection eu definir como "ReadCommited"
e num trecho do programa eu definir como abaixo:
Transacao.IsolationLevel := xilREPEATABLEREAD;
----------------------------------------------------------------

Obrigado.
User-BA





Mais detalhes sobre a lista de discussão lista