Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Trigger que inserte de una base en un servidor a otra base en otro servidor (https://www.clubdelphi.com/foros/showthread.php?t=68099)

RicardoLT 24-05-2010 22:07:17

Trigger que inserte de una base en un servidor a otra base en otro servidor
 
Hola a todos... tengo un detalle q no he podido resolver... no encuentro como...
Mi problema es el siguiente: necesito insertar los datos de una tabla de una base en un servidor a otra tabla en una base en otro servidor con un trigger para insert; ya hice las pruebas de insertar de un server a otro y esta funcionando, lo q no funciona es el trigger... alguien me podria dar una orientacion, el codigo de mi trigger es el siguiente:
Código SQL [-]
 
CREATE TRIGGER REPLICA_MOVTOS_LAB ON HPMOVTOSLAB FOR INSERT AS
DECLARE @QUERY CHAR(1000),@FOLIO FLOAT,@MACRO INT,@SERVICIO INT
SELECT @FOLIO=FOLIO_PAC,@MACRO=CVE_MACRO,@SERVICIO=CVE_DET_CONCEP FROM INSERTED
SET @QUERY='INSERT INTO SERVIDOR.SIHOWIN.DBO.HPMOVTOSLAB (FOLIO_PAC, CVE_MACRO, CVE_DET_CONCEP) VALUES ('+CAST(@FOLIO AS VARCHAR(10))+','+CAST(@MACRO AS VARCHAR(12))+','+CAST(@SERVICIO AS VARCHAR(4))+')'
EXEC (@QUERY)
GO
En un principio lo hice asi y tampoco:
Código SQL [-]
  
CREATE TRIGGER REPLICA_MOVTOS_LAB ON HPMOVTOSLAB FOR INSERT AS
DECLARE @FOLIO FLOAT,@MACRO INT,@SERVICIO INT
SELECT @FOLIO=FOLIO_PAC,@MACRO=CVE_MACRO,@SERVICIO=CVE_DET_CONCEP FROM INSERTED
INSERT INTO SERVIDOR.SIHOWIN.DBO.HPMOVTOSLAB (FOLIO_PAC, CVE_MACRO, CVE_DET_CONCEP) VALUES (@FOLIO,@MACRO,@SERVICIO)
GO

RicardoLT 25-05-2010 20:41:43

Ya encontre la solución, la dejo para quien tenga un problema similar...

--EXEC sp_addlinkedsrvlogin 'SERVIDOR', 'true' --Para crear el link de un servidor a otro... Solo se corre una vez...
--EXEC sp_addlinkedsrvlogin 'SERVIDOR', 'false', NULL, 'LABORATORIO', 'LABO' --Para crear el usr del link entre servidores, el usr se crea en el servidor destino... Solo se corre una vez...
CREATE PROCEDURE SPS_REPLICA_MOVTOS_LAB @FOLIO FLOAT,@MACRO INT,@SERVICIO INT AS
INSERT INTO [SERVIDOR].SIHOWIN.DBO.HPMOVTOSLAB (FOLIO_PAC,CVE_MACRO,CVE_DET_CONCEP)
VALUES (@FOLIO,@MACRO,@SERVICIO)
GO
CREATE TRIGGER REPLICA_MOVTOS_LAB ON HPMOVTOSLAB FOR INSERT AS
SET XACT_ABORT ON
DECLARE @FOLIO FLOAT,@MACRO INT,@SERVICIO INT
SELECT @FOLIO=FOLIO_PAC,@MACRO=CVE_MACRO,@SERVICIO=CVE_DET_CONCEP FROM INSERTED
EXEC SPS_REPLICA_MOVTOS_LAB @FOLIO,@MACRO,@SERVICIO
SET XACT_ABORT OFF
GO

tatifuentesvasq 07-01-2017 17:18:08

gracias men!.


La franja horaria es GMT +2. Ahora son las 09:19:59.

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