Ver Mensaje Individual
  #1  
Antiguo 24-07-2008
jsanchez jsanchez is offline
Miembro
 
Registrado: may 2003
Posts: 90
Reputación: 22
jsanchez Va por buen camino
Transacciones en Firebird

Hola,
Utilizo la base de datos Firebird 2.1.

Tengo un modulo que accede a unas tablas para hacer unas inserciones.
Se hace a traves de unas transacciones.
Código Delphi [-]
try
   basedatos.starttransaction;
   // insert en varias tablas, y bastantes calculos y consultas. 

   basedatos.commit;
except
   ShowMessage('error');
   basedatos.rollback;
end;

Al utilizar el sistema en red, cada cierto tiempo daba error el proceso, pero si inmediatamente se volvía a generar ese proceso anterior, lo hacía sin problemas.

Así que se intentó "catch" el problema, o sea la excepción, y daba un error del tipo
Código:
lock conflict in wait transaction
violation of primary key or unique key constraint .....
Parece ser que como se accede a una tabla para hacerle unos insert que se utiliza desde varias partes del programa, otro usuario en ese momento también estaba accediendo a la tabla y por eso da error.

Entonces mi pregunta es si no hay algo parecido al
Código SQL [-]
select for update
de MySQL, pero para hacerlo con Firebird.

Muchas Gracias.
Responder Con Cita