触发器插入链接表导致错误

我遇到了一个触发器问题,它将值插入到链接服务器上的相同表中。 这是触发器...

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:如果语句包含不带INTO子句的OUTPUT子句,则DML语句的目标表'WIQ'不能具有任何已启用的触发器。

问题是我在表中定义的这个(或任何其他)触发器中没有任何OUTPUT子句,目标表也没有定义任何触发器。

我不知道为什么我得到这个错误。 奇怪的是,如果我将值插入到SQL Server Management Studio的列中,那么触发器运行正常,并且该行被复制到DRSERVER中,但它只是从Application获取错误。

有问题的应用程序是用C#编写的Windows服务,它将行插入到LOCALDB.dbo.WIQ中。

谢谢,

斯科特Vercuski


事实证明,从我的应用程序中调用的某个组件涉及一个将数据插入到表中并具有OUTPUT子句的存储过程。 我不知道这个组件是如何运作的,而且我能够做出改变以减轻错误。

感谢所有阅读/思考我的问题的人。

链接地址: http://www.djcxy.com/p/60275.html

上一篇: Trigger that inserts into linked table causing an error

下一篇: Change Notification with Sql Server 2008