Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Disparador con actualizacion Remota

Estas en el tema de Disparador con actualizacion Remota en el foro de SQL Server en Foros del Web. Hola amigos, tengo una base de datos COMUNIDAD en el cual incluyo un disparador que se activa cada vez que una fila de mi tabla ...
  #1 (permalink)  
Antiguo 10/10/2008, 11:34
Avatar de jhoncacru  
Fecha de Ingreso: mayo-2004
Ubicación: cochabamba-Bolivia
Mensajes: 107
Antigüedad: 20 años
Puntos: 1
Disparador con actualizacion Remota

Hola amigos, tengo una base de datos COMUNIDAD en el cual incluyo un disparador que se activa cada vez que una fila de mi tabla empresa se elimina, tambien debe eliminar una fila de la tabla empresa de la otra base de datos que necesariamente está en otro servidor.

no logro realizar esta tarea, como podría hacerlo ??' aqui les dejo el disparador.
ya inicié el servicio: coordinador de transacciones distribuidas de microsoft


--agrego el enlace al servidor remoto
execute sp_addlinkedserver '192.168.0.77'

ALTER TRIGGER ELIMINAMURALLACHINA
on EMPRESA
after DELETE
as
begin

declare @codempresa as varchar(10)

BEGIN TRANSACTION

//recupero el codigo de la empresa que ha sido eliminada
select @codempresa = cod_empresa
from deleted

delete from [192.168.0.77].MURALLA.dbo.EMPRESA
where cod_empresa = @codempresa

COMMIT TRANSACTION

end


y me lanza el siguiente error al eliminar una fila de EMPRESA:

Msg 3910, Level 16, State 2, Line 1
Transaction context in use by another session.



Por favor denme una mano, ok bye bye
__________________
Gracias de antemano.
  #2 (permalink)  
Antiguo 10/10/2008, 11:41
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Disparador con actualizacion Remota

Elimina los BEGIN TRAN y COMMIT TRAN, tu trigger, esta ya inmerso en una transaccion por la misma actualizacion de tu tabla (DELETE)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.