He buscado por internet informacion sobre esto, y encontre, pero no pude resolver este problema.
Tengo una base de datos firebird centralizada a la cual se accede desde un sistema que esta instalado en otras dos computadoras.
El problema es cuando la 'computadora2' intenta actualizar un registro en la base de datos que ya ha actualizado la 'computadora1'.
Me tira el siguiente error:
DeadLock update conflicts with concurrent transactions update
Este conflicto se da cuando una transaccion intenta escribir sobre un registro que esta siendo utilizado por otra transaccion.
El siguiente es el codigo que utilizo para los abm de las tablas
procedure TDMCon.abm(SQL: string); begin sqlcons.Transaction:=self.transaccion; sqlcons.SQL.Clear; sqlcons.SQL.Text:=SQL; try sqlcons.ExecSQL; transaccion.Commit; sqlcons.close; Except showmessage('No se pudo realizar la transaccion con la base de datos'); end; end;
El tema es que la primer transaccion (computadora1) ya a realizado los cambios en la base de datos y deberia estar cerrada (transaccion.Commit), por lo tanto la segunda transaccion (computadora2) no tendria que tener problemas en utilizar dicho registro.
Espero que se entienda lo que trate de preguntar jeje..
bueno, gracias de antemano.. saludos!