2009-05-26 8 views
1

リンクサーバー上の同じテーブルに値を挿入するトリガーに問題があります。ここで私は自分のアプリケーションからLOCALDB.dbo.WIQに行を挿入すると、問題のトリガーは...私は、次のerrrorを受ける...リンクテーブルに挿入されてエラーを引き起こすトリガー

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 

ある

System.Data.SqlClientの.SqlException:ステートメントに OUTPUT句INTO句が含まれていない場合、DML ステートメントのターゲットテーブル 'WIQ'には有効な トリガーがありません。

問題は、私はこの内の任意のOUTPUT句(または他の)テーブルに定義されたトリガを持たないで、また、ターゲット表には、それに定義されたすべてのトリガを持っています。

なぜこのエラーが発生するのかわかりません。奇妙なのは、SQL Server Management Studioの列に値を挿入すると、トリガが正常に実行され、行がDRSERVERに複製されます。アプリケーションからのみエラーが発生します。

問題のアプリケーションは、LOCALDB.dbo.WIQに行を挿入するC#で書かれたWindowsサービスです。

は、結局のところ、自分のアプリケーションから呼び出されたコンポーネントのいずれかが、テーブルにデータを挿入するストアドプロシージャを関与し、それにOUTPUT句を持っていた

スコットVercuski、

答えて

0

をありがとう。私はこのコンポーネントがどのように機能しているのか分からず、エラーを緩和するために変更を加えることができました。

私の質問を読んだり熟考した皆さん、ありがとうございます。

関連する問題