É Aconselhavél usar timer para verificar Transação da Rede?
13/03/2006
0
como o título diz...
pensei em usar esse código em um timer com intervalo de 10 segundos:
[b:659cbb3f41]Detalhe:[/b:659cbb3f41]
passei a usar esse código depois que minha aplicação ficava o tempo todo, dando a mensagem:
pode ser usado ou geraria algum problema futuro na minha aplicação?
pensei em usar esse código em um timer com intervalo de 10 segundos:
if Not Transaction.InTransaction then Transaction.StartTransaction; Try if Transaction.InTransaction then Transaction.CommitRetaining Except if Transaction.InTransaction then Transaction.RollbackRetaining; end;
[b:659cbb3f41]Detalhe:[/b:659cbb3f41]
passei a usar esse código depois que minha aplicação ficava o tempo todo, dando a mensagem:
lock conflict on no wait transaction deadlock update conflicts with concurrent update
pode ser usado ou geraria algum problema futuro na minha aplicação?
Paullsoftware
Curtir tópico
+ 0
Responder
Posts
13/03/2006
Adriano Santos
como o título diz...
pensei em usar esse código em um timer com intervalo de 10 segundos:
[b:e3618a28bc]Detalhe:[/b:e3618a28bc]
passei a usar esse código depois que minha aplicação ficava o tempo todo, dando a mensagem:
pode ser usado ou geraria algum problema futuro na minha aplicação?
if Not Transaction.InTransaction then Transaction.StartTransaction; Try if Transaction.InTransaction then Transaction.CommitRetaining Except if Transaction.InTransaction then Transaction.RollbackRetaining; end;
lock conflict on no wait transaction deadlock update conflicts with concurrent update
[b:e3618a28bc]PallSofware[/b:e3618a28bc], eu particularmente não aconselho. As Transações só devem, ou palavra certa seria ´necessitam´, serem usadas no momento da gravação/edição, etc de registros no seu Banco de Dados. Ora, se nenhum registro sendo editado porque ficar ´incomodando´ o banco com a requisição de transação?
Eu vejo por esta ótica, não sei o que poderia causar de problemas se a aplicação ficasse de tempo-em-tempo dando Commit, teria que fazer alguns testes, mas sei que não é necessário isso.
Talvez algum colega se pronuncie com mais detalhes.
Responder
13/03/2006
Aroldo Zanela
Colega,
Isto viola um conceito básico de atomicidade de transações. (http://www.inf.puc-rio.br/~casanova/LivroCasanova/ncap6.pdf)
Isto viola um conceito básico de atomicidade de transações. (http://www.inf.puc-rio.br/~casanova/LivroCasanova/ncap6.pdf)
A noção de transação é introduzida para forçar o sistema a executar uma seqüência de ações elementares como se fosse uma unidade atômica, sem interferência externa.
Na sua forma mais simples, uma transação contém apenas um comando da LMD. Exige-se do usuário que codifique as transações de tal
forma que quando executadas sozinhas:
T1. sempre terminem;
T2. preservem a consistência do banco de dados.
Exige-se do SGBD, por sua vez, que a cada invocação de uma transação T:
S1. a transação T seja executada por completo;
S2. a execução da transação T se dê sem interferência de outras transações que porventura estejam sendo executadas concorrentemente.
Responder
Clique aqui para fazer login e interagir na Comunidade :)