Je rencontre un problème avec un déclencheur qui insère une valeur dans la même table sur un serveur lié. Voici le déclencheur en question ...Déclencheur inséré dans une table liée provoquant une erreur
USE [localDB]
GO
/****** Object: Trigger [dbo].[INS_New_Row] Script Date: 05/26/2009 10:50:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER TRIGGER dbo.INS_New_Row
ON LOCALDB.dbo.WIQ
AFTER INSERT
AS
BEGIN
INSERT INTO
DRSERVER.LOCALDBCLONE.dbo.WIQ
SELECT
column1,
column2,
column3
FROM
inserted
END
Lorsque j'insère une ligne dans LOCALDB.dbo.WIQ de ma demande que je reçois la errror suivante ...
System.Data.SqlClient .SqlException: La table cible 'WIQ' de l'instruction DML ne peut avoir aucun déclencheur activé si l'instruction contient une clause OUTPUT sans clause INTO.
Le problème est que je n'ai aucune clause de production dans ce (ou tout autre) déclencheur défini sur la table, ni la table cible ont des déclencheurs définis sur elle.
Je ne sais pas exactement pourquoi je reçois cette erreur. La chose étrange est, si j'insère des valeurs dans les colonnes de SQL Server Management Studio, le déclencheur s'exécute bien et la ligne est dupliquée dans le DRSERVER, c'est seulement de l'application qui obtient une erreur.
L'application en question est un service Windows écrit en C# qui insère des lignes dans LOCALDB.dbo.WIQ.
Merci,
Scott Vercuski