Fórum Lidando com concorrência...particepem...dêem opnião #180518

08/09/2003

0

Suponha 2 maquinas ditas A e B.

As duas maquinas rodam uma aplicacao feita com datasets desconectados.

A maquina A e B abrem ao mesmo tempo a tabela ´Cliente´.

A maquina A altera o saldo do cliente ´João´ e aplica as alteracoes.
Trinta (30) segundos depois a maquina B avalia o saldo do cliente ´João´ para lhe dar um ´empréstimo´

Resultado: a analise do saldo esta se baseando em dados errados.

Como resolver o problema??


Silvana

Silvana

Responder

Posts

08/09/2003

Bacalhau

Se for Paradox antes de verificar o saldo há que fazer Refresh. O ter um componente TTimer que de n em n segundos refresca a informação (é um pouco pesado...)


Responder

Gostei + 0

08/09/2003

Maxwell_monteiro

Para resolver isso é que existem os SGDB´s com eles vc nem precisa se preocupar com controle de concorencia nas suas transações!


Responder

Gostei + 0

08/09/2003

Silvana

Suponhamos que temos um SGBD (descartem o paradox).
Achei interessante sua observação Max, mas você poderia elucidá-la de uma forma mais clara?


Responder

Gostei + 0

08/09/2003

Silvana

Ainda com você Max....

Se não preciso me preocupar com o controle de concorrência, pra que servem então as propriedades e procedures do tipo BeginTrans, Commit e RollBack?

É isso aí pessoal vamos discutir .... esse é um assunto muiiito interessante.


Responder

Gostei + 0

08/09/2003

Motta

a transacao é conceito de integridade dentro de mesma operacao

exemplo tosco

transferir R$100 da cc para poupanca

operacao

update cc
set valor = valor - 100
where conta = 12345


update poup
set valor = valor + 100
where conta = 12345

isto é só um exemplo a operacao é mais complexa um pouco, mas
uma só pode ser feita se a outra tb for feita, dai a nec. de uma transacao.

ainda seria possivel dar lock no registro até o fim da operacao.


Responder

Gostei + 0

08/09/2003

Bacalhau

(descartado. snif...) :cry:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar