Insertar un registo en Access Linked Server desde un trigger en SQL

04/11/2008 - 23:40 por boquinbeck | Informe spam
Hola tengo un problema.

Quiero insertar un registro en una tabla de MS Access, cada vez que se
dispare un trigger AFTER INSERT o AFTER UPDATE de una tabla de SQL
Server. Ya tengo configurado el Linked Server a la tabla de Access, de
hecho he probado la sentencia insert contra la tabla de access y me
funciona. Pero el problema está que si lo quiero hacer desde el
trigger me decuelve un error.

Server: Msg 8524, Level 16, State 1, Procedure TEST, Line 6

The current transaction could not be exported to the remote provider.
It has been rolled back.


El codigo del trigger es el siguiente:

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS ON

GO



ALTER TRIGGER TEST ON EMPLEADOS

AFTER INSERT

AS



INSERT INTO OPENQUERY (Access,'Select * from empleados')

VALUES ('001','TEST')



GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO
 

Leer las respuestas

#1 Carlos Sacristan
05/11/2008 - 11:08 | Informe spam
¿Y por qué no vinculas la tabla directamente en Access, en vez de hacerlo así?

"" wrote:

Hola tengo un problema.

Quiero insertar un registro en una tabla de MS Access, cada vez que se
dispare un trigger AFTER INSERT o AFTER UPDATE de una tabla de SQL
Server. Ya tengo configurado el Linked Server a la tabla de Access, de
hecho he probado la sentencia insert contra la tabla de access y me
funciona. Pero el problema está que si lo quiero hacer desde el
trigger me decuelve un error.

Server: Msg 8524, Level 16, State 1, Procedure TEST, Line 6

The current transaction could not be exported to the remote provider.
It has been rolled back.


El codigo del trigger es el siguiente:

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS ON

GO



ALTER TRIGGER TEST ON EMPLEADOS

AFTER INSERT

AS



INSERT INTO OPENQUERY (Access,'Select * from empleados')

VALUES ('001','TEST')



GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO



Preguntas similares