Re: [firebase-br] Transações e Níveis de Isolamento
Euler Jr.
euler em siginformatica.com.br
Sex Jun 10 15:12:13 -03 2005
Isso depende. A vantagem de se utilizar o nível REPEATABLEREAD sobre
READCOMMITTED, é que as alterações efetuadas em outras transações serão
visíveis para a sua. Geralmente para SELECT ñ há necessidade de abrir uma
transação, mas nada impede de fazê-lo.
[]s
Euler Jr.
----- Original Message -----
From: "User-Ba" <meus.foruns em embytes.com.br>
To: <lista em firebase.com.br>
Sent: Friday, June 10, 2005 2:45 PM
Subject: [firebase-br] Transações e Níveis de Isolamento
> 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
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista