[firebase-br] SQL com WITH LOCK

Eduardo Jedliczka (TeamFB) jedyfb em gmail.com
Sex Ago 11 23:31:28 -03 2006


Não tenho certeza, mas acredito que o IBEXPERT não utiliza driver DBX, ou 
utilize o InterXpress.

E Sim, há muitos problemas do driver UIB relacionados ao FireBird. É sabido 
que este driver não implementou (ou utiliza) muitos recursos do banco, 
deixando eventualmente vários desenvolvedores em maus lençõis.

Sugiro que procure um outro driver ou abdque do DBX.

Sucesso,

Eduardo Jedliczka
Membro do TeamFB
Apucarana - PR
----- Original Message ----- 
From: "Daisson" <daisson em gmail.com>
To: <lista em firebase.com.br>
Sent: Friday, August 11, 2006 9:07 AM
Subject: [firebase-br] SQL com WITH LOCK


Bom dia lista.

Em algumas mensagens acima, eu apresentei um problema com relação a
"locar" um registro (lock exclusivo). O Cantu me respondeu dizendo que
para "locar" o registro é necessário utilzar WITH LOCK no comando SQL.

Um detalhe interessante é que, se eu executo o SQL abaixo no IBExpert,
e depois vou executá-lo na aplicação, acontece o seguinte.

SQL =====
  SELECT SC00_CONTROLAIDS.*
    FROM SC00_CONTROLAIDS
  WHERE SC00_CONTROLAIDS.TABELA = 'CO01_DIARIO'
      WITH LOCK;

Executo esse SQL no IBExpert, e corretamente o registro esta locado.
Então executo o mesmo SQL na minha aplicação e, depois do Open do
DataSet e sistema pára, fica esperando até a transação, no IBExpert,
for commit/rollbak (não é gerada nenhuma exceção).

Porém, se eu fizer o caminho inverso, ou seja, executo o SQL na
aplicação e depois no IBExpert, consigo alterar o registro (pelo
IBExpert) normalmente.

Posso estar enganado, mas pra mim isso parece problema de Driver de
conexão. Porque se eu abrir 2 janelas do SQL Editor no IBExpert e
executar o SQL acima, na segunda execução eu recebo uma exceção de
'lock conflict'.
Na aplicação utilizamos o driver da UIB para DBX, e o IBExpert usa o
driver InterXpress, correto ?

Baixei a última versão do driver no site da UIB, só que é bem
complicado para instalar (existe algum lugar onde eu posso baixar
somente a DLL ?).

Pergunto a vocês, isso realmente é um problema de driver ou não tem
ligação com isso?

Obrigado.
-- 
Daisson


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista