É Aconselhavél usar timer para verificar Transação da Rede?
13/03/2006
0
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
Posts
13/03/2006
Adriano Santos
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.
13/03/2006
Aroldo Zanela
Isto viola um conceito básico de atomicidade de transações. (http://www.inf.puc-rio.br/~casanova/LivroCasanova/ncap6.pdf)
Clique aqui para fazer login e interagir na Comunidade :)