Sincronizacion de 2 bases de datos
Publicado por Carlos (9 intervenciones) el 16/07/2015 23:35:08
Hola a toda la comunidad.
El motivo de escribirles es para resolver unos problemas que estoy teniendo. Anteriormente me beneficio mucho la ayuda que recibí en el foro.
Lo que estoy tratando de hacer es un update entre distintos datos de 2 bases de datos (eBob y Sbmx_BATCH). La base de datos eBob pertenece a un software de medición de nivel en silos y la base de datos Smbx_BATCH es de mi autoría.
Al principio realice la sincronización por medio de un UPDATE entre las 2 bases de datos, el cual me funciono pero al tratar de que fuese automático me decidí por utilizar un TRIGGER (tanto el UPDAE como el TRIGGER recibí asesoría por un usuario de este foro).
En este momento estoy utilizando 3 TRIGGERs:
1) actualiza el materia de las tolvas (Sbmx_BATCH a eBob) - me funciona bien
Código:
Use Sbmx_BATCH1
GO
CREATE TRIGGER Material
ON [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores]
AFTER UPDATE
AS
UPDATE [eBob].[dbo].[tblVessel]
SET [eBob].[dbo].[tblVessel].[Contents] = inserted.[Material]
FROM inserted
WHERE [eBob].[dbo].[tblVessel].[VesselName] = inserted.[Id]
GO
2) actualiza las mediciones % de llenado (eBob a Sbmx_BATCH) - me da errores en el software de medición:
the server principal 'eBob' is notable to access the database 'Smbx_BATCH1' under the current security contexto
Código:
Use eBob
GO
CREATE TRIGGER Porcentaje
ON [eBob].[dbo].[tblMeasurementData_Temp]
AFTER INSERT
AS
UPDATE [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores]
SET [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores].[%] = inserted.[PercentFull]
FROM inserted
WHERE [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores].[Id] = inserted.[VesselName]
GO
3) actualiza las mediciones Peso en Kg (eBob a Sbmx_BATCH) - me da el mismo error:
the server principal 'eBob' is notable to access the database 'Smbx_BATCH1' under the current security contexto
Código:
Use eBob
GO
CREATE TRIGGER Peso
ON [eBob].[dbo].[tblMeasurementData_Temp]
AFTER INSERT
AS
UPDATE [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores]
SET [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores].[Peso medido (Kg)] = inserted.[ProductWeight]
FROM inserted
WHERE [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores].[Id] = inserted.[VesselName]
GO
también me tengo que agregar que existen 2 tablas donde saco las mediciones en eBob, tblMeasurementData_Temp y tblMeasurementData. Don de la ultima al llegar a 200 registros pasa a la Temp.
Les agradezco cualquier información que me ayude a resolver el problema.
El motivo de escribirles es para resolver unos problemas que estoy teniendo. Anteriormente me beneficio mucho la ayuda que recibí en el foro.
Lo que estoy tratando de hacer es un update entre distintos datos de 2 bases de datos (eBob y Sbmx_BATCH). La base de datos eBob pertenece a un software de medición de nivel en silos y la base de datos Smbx_BATCH es de mi autoría.
Al principio realice la sincronización por medio de un UPDATE entre las 2 bases de datos, el cual me funciono pero al tratar de que fuese automático me decidí por utilizar un TRIGGER (tanto el UPDAE como el TRIGGER recibí asesoría por un usuario de este foro).
En este momento estoy utilizando 3 TRIGGERs:
1) actualiza el materia de las tolvas (Sbmx_BATCH a eBob) - me funciona bien
Código:
Use Sbmx_BATCH1
GO
CREATE TRIGGER Material
ON [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores]
AFTER UPDATE
AS
UPDATE [eBob].[dbo].[tblVessel]
SET [eBob].[dbo].[tblVessel].[Contents] = inserted.[Material]
FROM inserted
WHERE [eBob].[dbo].[tblVessel].[VesselName] = inserted.[Id]
GO
2) actualiza las mediciones % de llenado (eBob a Sbmx_BATCH) - me da errores en el software de medición:
the server principal 'eBob' is notable to access the database 'Smbx_BATCH1' under the current security contexto
Código:
Use eBob
GO
CREATE TRIGGER Porcentaje
ON [eBob].[dbo].[tblMeasurementData_Temp]
AFTER INSERT
AS
UPDATE [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores]
SET [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores].[%] = inserted.[PercentFull]
FROM inserted
WHERE [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores].[Id] = inserted.[VesselName]
GO
3) actualiza las mediciones Peso en Kg (eBob a Sbmx_BATCH) - me da el mismo error:
the server principal 'eBob' is notable to access the database 'Smbx_BATCH1' under the current security contexto
Código:
Use eBob
GO
CREATE TRIGGER Peso
ON [eBob].[dbo].[tblMeasurementData_Temp]
AFTER INSERT
AS
UPDATE [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores]
SET [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores].[Peso medido (Kg)] = inserted.[ProductWeight]
FROM inserted
WHERE [Sbmx_BATCH1].[dbo].[Sbmx_Contenedores].[Id] = inserted.[VesselName]
GO
también me tengo que agregar que existen 2 tablas donde saco las mediciones en eBob, tblMeasurementData_Temp y tblMeasurementData. Don de la ultima al llegar a 200 registros pasa a la Temp.
Les agradezco cualquier información que me ayude a resolver el problema.
Valora esta pregunta


0