Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-08-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
Lock conflict on no wait transaction

Hola a todo el que lea este hilo. Vaya por delante que estoy aprendiendo en este mundillo de IBX, practicamente empezando y claro me surgen problemas que hacen que me pare cada dos por tres. El objeto de mi consulta es el siguiente:
Estoy desarrollando una aplicacion en Interbase 6 y Delphi 7. En el modulo de datos de la misma he dispuesto los siguientes componentes:
1 IBDataBase
1 IBTransaction con los parametros: read_committed, rec_version y nowait.
3 IBDataSet
3 DataSource
y otros componentes como IBStoredProc, IBQuery que creo no tienen nada que ver en la consulta que me ocupa.
Cuando ejecuto desde un pc la aplicacion contra el servidor no hay problemas pero cuando desde otro pc, estando corriendo la aplicacion en el primero, hago lo mismo, es decir ya hay dos clientes contra el servidor me sale continuamente el mensaje:

"lock conflict on no wait transaction deadlock".

¿Alguien me puede arrojar algo de luz sobre el tema o darme alguna pista acerca de qué es lo que esta pasando?
Muchas gracias por sus respuestas por anticipado.
Responder Con Cita
  #2  
Antiguo 08-08-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola gorsan,
Por el error que expones, al parecer se debe a que hay dos transacciones que quieren modificar el mismo registro activo.

Sin ver algo de código no puedo decirte más. ¿Serías tan amable de darnos mayores detalles?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 08-08-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Ese error te lo va a dar cada vez que dos usuarios intenten modificar el mismo registro, y uno de ellos haga un Post sobre el registro y NO REALICE UN COMMIT de la transacción, y el otro esté todavía con la edición del mismo. Cuando el segundo intente hacer el Post (sin que el primero haya realizado un Commit de la transacción) suyo correspondiente te saltará ese error.

Es simplemente inevitable por la propia lógica de la BD.

El segundo usuario supuestamente va a grabar encima del resultado que confirmó el primero y la BD se queja.

La manera más inmediata de solucionar este tema es que realices el commit, o el CommitRetaining, de la transacción inmediatamente después del Post.
__________________
Piensa siempre en positivo !
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lock Timeout para WAIT transacciones camino Firebird e Interbase 0 15-05-2007 02:56:08
comando wait (rc.local) ? ANG4L Linux 3 15-06-2006 16:45:49
Fibtransaction wait i timeout celades1 Firebird e Interbase 2 02-12-2005 20:32:29
wait transactions con DBE Ivanzinho Firebird e Interbase 3 15-10-2005 17:03:52


La franja horaria es GMT +2. Ahora son las 13:39:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi