Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   deadlock update conflict with concurrent update! (https://www.clubdelphi.com/foros/showthread.php?t=58017)

JuanErasmo 04-07-2008 23:29:45

deadlock update conflict with concurrent update!
 
Hola amigos.

Estoy intentando conectar dos aplicaciones diferentes pòr medio de una base de datos en firebird. cuando realizo alguna operacion de edit, o insert en alguna de las dos, en la otra obtengo

deadlock update conflict with concurrent update

el error se soluciona cuando le hago Commit() a la transaccion, perooo, no puedo estar haciendo esto aleatoriamente o con un timer, porque no hay un comportamiento que me relacione los dos programas


a alguien le ha pasado???

como se puede evitar esto?

Muchas Gracias!

jhonny 04-07-2008 23:47:22

Ese es un evento normal en las bases de datos, se debe a que estas tratando de actualizar un registro al mismo tiempo que otra transacción, puedes ver http://www.firebirdfaq.org/faq151/ para mas información.

jhonny 04-07-2008 23:52:53

Tambien te recomiendo leer acerca de los isolation levels...

http://www.devrace.com/en/fibplus/articles/479.php

felipe88 05-07-2008 00:16:11

Cita:

Empezado por jhonny (Mensaje 298383)
Ese es un evento normal en las bases de datos, se debe a que estas tratando de actualizar un registro al mismo tiempo que otra transacción, puedes ver http://www.firebirdfaq.org/faq151/ para mas información.

Me genera inquietud esto, en un Query normal tambien sucede ? :confused::confused:

JuanErasmo 05-07-2008 00:21:40

Como se controla esa excepcion??
 
El problema es porque son dos transacciones diferentes???

Pero entonces como funcionan los demas software en red???

como se controla esa excepcion???


Gracias!

jhonny 05-07-2008 17:36:30

Cita:

Empezado por felipe88 (Mensaje 298391)
Me genera inquietud esto, en un Query normal tambien sucede ? :confused::confused:

Si es una consulta tipo select, nunca tendras ese problema hay problema.

Cita:

Empezado por JuanErasmo
El problema es porque son dos transacciones diferentes???

Pero entonces como funcionan los demas software en red???

Es por eso que te he recomendado leer acerca del nivel de aislamiento, no es porque sean dos transacciónes al tiempo, si no porque estas afectando un SNAPSHOT que esta siendo usado por una transacción, si otra transacción afecta ese SNAPSHOT perderias la consistencia de los datos. ;)

http://www.devrace.com/en/fibplus/articles/479.php

rastafarey 10-07-2008 20:58:10

Resp
 
Si tienen un buen novel de isolation.

osea la transaccion esta configurada para que usa el versionado de registro y no permota tranasacciones sucias jamas tendran el famoso abrazo mortal.

Ahora si le quitan la mejor virutd de firebird que es el versionado de registro. siempre van a tenr problemas hasta en la misma aplicacion.


La franja horaria es GMT +2. Ahora son las 00:50:33.

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