Q Q ta errado?
começo 2 transações com BDE usando tiReadCommitted.
disparo a 1 e disparo a 2 em seguinda.
cada uma realiza as operações necessárias, qdo chega no ponto de
[b:9b8013f509]ATUALIZAR O SALDO[/b:9b8013f509] de um produto da Deadlock!!!
a transação 1 atualiza o saldo p/ x
em seguida a tra...2 atualiza p/ y, nesse exato momento da deadlock.
já tentei com os outros 2 tipos de isolamento possíveis e não teve mudança.
Alguma solução?
forte abraço.
Ricardo
disparo a 1 e disparo a 2 em seguinda.
cada uma realiza as operações necessárias, qdo chega no ponto de
[b:9b8013f509]ATUALIZAR O SALDO[/b:9b8013f509] de um produto da Deadlock!!!
a transação 1 atualiza o saldo p/ x
em seguida a tra...2 atualiza p/ y, nesse exato momento da deadlock.
já tentei com os outros 2 tipos de isolamento possíveis e não teve mudança.
Alguma solução?
forte abraço.
Ricardo
Rfpsatin
Curtidas 0
Respostas
Sremulador
16/01/2004
Bem amigo eu estou trabalhando com sub-estoques atualmente mas eu dou somente um commit nos casos de trasferencias, se você der mais detalhes poderei lhe ajudar melhor
GOSTEI 0
Rfpsatin
16/01/2004
Bem amigo eu estou trabalhando com sub-estoques atualmente mas eu dou somente um commit nos casos de trasferencias, se você der mais detalhes poderei lhe ajudar melhor
Salve povo é o seguinte.
2 usuários em máquinas distintas começam a realizar uma mesma tarefa.
qdo o user 1 começa, inicio a transação
o mesmo ocorre com o user 2.
qdo o user um termina o q esta fazendo e da commit, tudo blz, contudo qdo o user 2 faz o mesmo da deadlock.
to ligado q q é deadlock e pq ocorre, agora não to conseguindo me livrar disso mudando os tipos de isolamento transacional.
dicasssss???????????
GOSTEI 0
Afarias
16/01/2004
Provavelmente o primeiro q gravou ainda não deu um commit!
O registro só fica bloqueado no espaço de tempo entre o POST e o COMMIT -- após o commit não há mais bloqueio.
T+
O registro só fica bloqueado no espaço de tempo entre o POST e o COMMIT -- após o commit não há mais bloqueio.
T+
GOSTEI 0
Rfpsatin
16/01/2004
Provavelmente o primeiro q gravou ainda não deu um commit!
O registro só fica bloqueado no espaço de tempo entre o POST e o COMMIT -- após o commit não há mais bloqueio.
T+
Oi tio, blz?
deu o commit sim, to controlando e da p/ ver isso claramente,
qdo o segundo da o commit via aplicação o 1o. ainda não consegue enxergar as mudanças, estranho neh?!
to contornando via try...
GOSTEI 0
Afarias
16/01/2004
|Oi tio, blz?
hahahahahahahahahahahahahahaha... :roll:
|deu o commit sim, to controlando e da p/ ver isso claramente,
então, o outro usuário na rede já poderá alterar o registro sem problema
|qdo o segundo da o commit via aplicação o 1o. ainda não consegue
|enxergar as mudanças, estranho neh?!
o 1º deve ter a transação configurada para READ COMMITED -- e é claro, refazer a consulta (re-executar o SELECT)
|to contornando via try...
Blz.
T+
hahahahahahahahahahahahahahaha... :roll:
|deu o commit sim, to controlando e da p/ ver isso claramente,
então, o outro usuário na rede já poderá alterar o registro sem problema
|qdo o segundo da o commit via aplicação o 1o. ainda não consegue
|enxergar as mudanças, estranho neh?!
o 1º deve ter a transação configurada para READ COMMITED -- e é claro, refazer a consulta (re-executar o SELECT)
|to contornando via try...
Blz.
T+
GOSTEI 0
Rfpsatin
16/01/2004
Ow tio :D
Então, falando claramente...
Vamos dizer assim, a única forma de tratar deadlock seria com try e tratar desta forma?!
Então, falando claramente...
Vamos dizer assim, a única forma de tratar deadlock seria com try e tratar desta forma?!
GOSTEI 0
Afarias
16/01/2004
|Vamos dizer assim, a única forma de tratar deadlock seria com try e
|tratar desta forma?!
É... a forma de ´tratar´ os deadlocks é com TRY/EXCEPT (quando a transação está em NOWAIT)
Mas o melhor mesmo é procurar sempre evitá-los (os deadlocks) procurando manter tuas transações curtas.
T+
|tratar desta forma?!
É... a forma de ´tratar´ os deadlocks é com TRY/EXCEPT (quando a transação está em NOWAIT)
Mas o melhor mesmo é procurar sempre evitá-los (os deadlocks) procurando manter tuas transações curtas.
T+
GOSTEI 0
Rfpsatin
16/01/2004
Caramba, q falta faz o [b:b958b32358]select for update[/b:b958b32358] do oracle :roll: :oops:
GOSTEI 0
Afarias
16/01/2004
|Caramba, q falta faz o select for update do oracle
Vc tem esta opção no FB 1.5
T+
Vc tem esta opção no FB 1.5
T+
GOSTEI 0