Club Delphi  
    Paypal   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 Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 27-05-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Cool

Hola DobleSiete.

Cita:
Empezado por DobleSiete
Estoy obteniendo el clásico mensaje de deadlock update conflicts with concurrent update en un programa hecho en Delphi 7 e InterBase 6.5 (usando componentes IBX y ADO)... pero mi caso es algo distinto.
A que te referis con que es algo distinto... ¿distinto de que?

Cita:
Empezado por DobleSiete
Ya he leído bastante al respecto como para saber que es un problema de transacciones... lo que no entiendo es porque en tres máquinas de la oficina tengo ese error, pero en la máquina de mi casa núnca aparece
¿Seguro de haber leido suficiente?

Claro que en la máquina de tu casa, si no hay actualizaciones concurrentes, pues el problema nunca se dará. (ver lo que he subrayado en el mensaje de error de la primera cita).

Si logras simular las actualizaciones concurrentes, seguro que el problema se dará nuevamente. Las técnicas para evitar este problema son, principalmente, hacer las transaccoines tan cortas como sea posible (por ejemplo, usando el caché de actualizaciones y volteando todo a la BD en unos cuantos milisegundos) y hacer que las actualizaciones se realicen en el mismo orden sobre los registros en todos los clientes, con lo que algunos quedarán esperando que finalicen las transacciones de otros, pero se minimiza la posibilidad de deadlocks.

No es normal que una sola aplicación cliente produzca deadlocks solita... siempre que uses una sola transacción dentro de la aplicación. Si hay varias transacciones abiertas, si que la aplicación sola puede hacerse el candadito..


Cita:
Empezado por DobleSiete
Algo realmente curioso es que en la máquina donde el programa funciona bien (ejecutado desde el disco duro) obtengo el mensaje de deadlock cuando lo ejecuto desde una memoria flash USB (un zMate Pen de 256 MB). ¿Alguien podría darme un explicación de este fenómeno?
Sinceramente, no creo que tenga que ver con el origen del ejecutable... seguramente ha coincidido con que en esas ejecuciones ha habido concurrencia de actualizaciones.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
 



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


La franja horaria es GMT +2. Ahora son las 19:29:54.


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