Ver Mensaje Individual
  #2  
Antiguo 01-04-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

Yo más bien me inclino a que se cuelgua por un bloqueo. En inglés se llama deadlock (abrazo mortal).

Tu primer Query modifica ciertos registros, que el segundo proceso necesita leer para hacer sus propias modificaciones. Pero el registro está bloqueado al no haber finalizado la transacción, por lo que tienes una consulta que mantiene bloqueado un registro, y otra consulta que espera que se libere ese mismo registro para poder seguir el proceso.

Para poder comprobar que es este caso, configura la sesión para que cuando se encuentre un registro bloqueado, en lugar de esperar indefinidamente a que se libere el recurso, salte un error.

Para eso, antes de realizar las modificaciones lanza la siguiente sentencia (con un Query mismo)

SET @@LOCK_TIMEOUT 0

(Por defecto está a -1, también puedes poner un valor positivo, 100 milisegundos, ...)

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita