2011-03-10 15 views
2

現在、Subsonic 2.0.3を使用して既存のプロジェクトのDataAccessを生成しています。SubSonic 2.0.3を使用しているときに挿入トリガーが失敗する

テーブル上のSQLトリガを追加する場合は、亜音速開始が失敗するエラーメッセージ

The target table 'Table Name' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause. 

を挿入するときに、私が使用していますトリガが

SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
ALTER TRIGGER [dbo].[TriggerName] 
on [dbo].[TableName] 
AFTER Insert 
AS 
BEGIN 
INSERT INTO TableName 
      (Values) 
    SELECT Values 
    FROM Inserted 

END 

これが原因で自動的にように見えるです生成されたコードは

INSERT INTO TableName 
OUTPUT INSERTED.[ColumnName] 
VALUES(Values) 

ですSubsonic 2.0.3で生成された生成コードを変更するか、これを動作させるには?

+1

どのように作成トリガースクリプトを実行しようとしましたか? SSMSを通して、あるいは亜音速で? 私はSubsonicを介してトリガを追加しようとしていると言いますが、私が答える前に確実に確認したいと思います。 –

+0

@Shannon私はSSMS経由でトリガーを追加しました。私は、トリガーを取り付けた後、データベースにレコードを挿入するために亜音速を使用しています。 –

答えて

0

M/Sはバグだと言います。あなたは、.NET 3.5がインストールされている必要がありとパッチを適用します。

http://support.microsoft.com/kb/961073

または

http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961073&kbln=en-us

あなたは、トリガーが実行されているtable2のではなく、同じテーブルに挿入され、コードを見てみます。そのテーブルが同じであれば、同じ挿入トリガーをもう一度起動すると思っていました。

関連する問題