У меня проблема с триггером, который вставляет значение в ту же таблицу на связанном сервере. Вот триггер, о котором идет речь ...
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
Когда я вставляю строку в LOCALDB.dbo.WIQ из моего приложения, я получаю следующую ошибку ...
System.Data.SqlClient.SqlException: целевая таблица «WIQ» DML
оператор не может быть включен
срабатывает, если инструкция содержит
Предложение OUTPUT без предложения INTO.
Проблема в том, что у меня нет ни одного предложения OUTPUT в этом (или любом другом) триггере, определенном в таблице, и в целевой таблице не определены триггеры.
Я не уверен, почему я получаю эту ошибку. Странно то, что если я вставляю значения в столбцы из SQL Server Management Studio, триггер работает нормально и строка дублируется в DRSERVER, только из приложения выдается ошибка.
Рассматриваемое приложение - это служба Windows, написанная на C #, которая вставляет строки в LOCALDB.dbo.WIQ.
Спасибо,
Скотт Веркуски