Grau de isolamento de uma transação de banco de dados

2 respostas
L

Pessoal,

estou tendo um problema de “deadlock” na minha aplicação.

Eu sei aonde é o “deadlock”, sei pq ele acontece e quero ignorar este deadlock, ou seja, quero que uma parte
do meu código tente executar um insert, se não conseguir, eu não quero que ela pare, quero que ela ignore e
deixe o insert pra lá ou senão faça um insert não se importando se tem alguém lá mexendo.

Eu andei lendo um material pela internet, e pelo que entendi, se eu usar o grau de isolamento TRANSACTION_READ_UNCOMMITTED
eu terei esse comportamento esperado.

Alguém confirma isso ou pode me ajudar com alguma outra solução.

O comportamento que eu gostaria é esse que eu descrevi, não me importa se tem alguém mexendo no registro, quando meu código tentar
fazer um insert, eu queria que ele fosse de qlq jeito, e não ficasse preso por “deadlock”.

Valeu galera!

[]'s

2 Respostas

Zeed01

Boa noite Colegas !

Não entendi muito bem seu problema…
Se você esta dando um insert porque esta dando deadlock ?
Pois se é um registro novo como pode ter outro usuário mxendo nele ?
Que banco você esta usando ?
Esta usando jdbc ?

A primeira idéia que me veio foi colocar um try/catch e não fazer nada no catch.

[]s

rafaelglauber

Para o banco de dados está dando deadlock em insert pode ser que o problema seja outra coisa…verifique as configurações do mesmo (memória, disco…), ou ainda se as tabelas a serem inseridas não estão com problemas nos indices. Acredito que mesmo mudando seu nível de isolamente se o deadlock realmente for no insert não deve resolver seu problema.

Criado 23 de abril de 2008
Ultima resposta 23 de abr. de 2008
Respostas 2
Participantes 3