Fórum Transação com ADO #293281

26/08/2005

0

Tenho uma tela te pagamento de compras e uma subtela que são os cheques que estou pagando a compra. Meu problema é o seguinte quando o usuario inclui o primeiro registro eu abro a transação e so do o commit quando o valor dos chegues for iqual ao da compra, mais enquanto não do o commit minha tabela fica bloqueada para outro usuario incluir, só libera quando o 1° usuario finaliza o pagamento por que executa o commit. Uso SQL Server 2000 e Delphi 7 e ADO, já tentei mudar a propriedade do ADOConnection IsolationLevel para ilReadUncommitted mais mesmo assim a tabela fica bloqueada.


Desde já abrigado


Leorez

Leorez

Responder

Posts

26/08/2005

Rbcaetano

Cara, estou com o mesmo problema, apesar de que eu estou usando Firebird com ADO.

Tenho uma outra aplicação com BDE e estava com esse problema quando era SQL Server, daí logo após a conexão com o banco de dados eu coloquei esse comando ´SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED´ daí resolveu meu problema.Agora com ADO e Firebird não consegui resolver.Se vc achar uma solução por favor me avise também....rbcaetano@hotmail.com

Obrigado


Responder

Gostei + 0

26/08/2005

Leorez

rbcaetano ante meu sistema tambem era com BDE e eu usava esta comando tb mais quando passei para Ado esse comando não resolveu!
Se vc tiver uma resposta me avisa!

Desde já obrigado


Responder

Gostei + 0

26/08/2005

Bon Jovi

Dar um ExecSQL com ´SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED´ deveria funcionar, pelo menos no SQL Server. Mesmo assim não seria uma boa solução na maioria dos casos, já que perderá um pouco o controle de onde pode deixar ler dados bloqueados ou não, virando festa por default.

Tente usar o hint NOLOCK nos Selects onde houver necessidade. Ex.: select * from tabela (nolock)


Responder

Gostei + 0

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

Aceitar