
UPDATE de tabla remota en SQL Server 2000
Publicado por Alex (3 intervenciones) el 07/09/2009 18:54:10
Hola a todos,
mi duda es como realizar un UPDATE de una tabla con campos de otra estando cada tabla en bases de datos distintas. He conseguido mediante la sentencia OPENDATASOURCE realizar SELECTS e incluso INSERTS en tablas remotas, pero no lo consigo con la sentencia UPDATE.
Después de documentarme, la manera de realizarlo debería ser la siguiente:
UPDATE OPENDATASOURCE ('SQLOLEDB', 'Data Source=xxxxx;User ID=sa' ).BASEDestino.dbo.TablaY
SET TablaDestino.Campo = TablaOrigen.Campo
FROM TablaX AS TablaOrigenFARTIC INNER JOIN
OPENDATASOURCE ('SQLOLEDB', 'Data Source=xxxxx;User ID=sa' ).BASEDestino.dbo.TablaY AS TablaDestino
ON TablaDestino.Id = TablaOrigen.Id
Pero ahora mismo me dice que no se puede usar el prefijo TablaDestino y que debe coincidir con el objeto de la cláusula UPDATE. He probado de modificar de varias maneras la estructura del QUERY pero nada. ¿Sabeis la manera de hcer un UPDATE de una tabla remota con datos de una tabla ubicada en otra base?
Muchas gracias.
Alex
mi duda es como realizar un UPDATE de una tabla con campos de otra estando cada tabla en bases de datos distintas. He conseguido mediante la sentencia OPENDATASOURCE realizar SELECTS e incluso INSERTS en tablas remotas, pero no lo consigo con la sentencia UPDATE.
Después de documentarme, la manera de realizarlo debería ser la siguiente:
UPDATE OPENDATASOURCE ('SQLOLEDB', 'Data Source=xxxxx;User ID=sa' ).BASEDestino.dbo.TablaY
SET TablaDestino.Campo = TablaOrigen.Campo
FROM TablaX AS TablaOrigenFARTIC INNER JOIN
OPENDATASOURCE ('SQLOLEDB', 'Data Source=xxxxx;User ID=sa' ).BASEDestino.dbo.TablaY AS TablaDestino
ON TablaDestino.Id = TablaOrigen.Id
Pero ahora mismo me dice que no se puede usar el prefijo TablaDestino y que debe coincidir con el objeto de la cláusula UPDATE. He probado de modificar de varias maneras la estructura del QUERY pero nada. ¿Sabeis la manera de hcer un UPDATE de una tabla remota con datos de una tabla ubicada en otra base?
Muchas gracias.
Alex
Valora esta pregunta


0