0

SSISパッケージを実行しています。パッケージは、ExcelファイルをSQLServerデータベース2008にインポートします。Excelのインポート中にFIRE_TRIGGERSオプションを設定しました。INSERTの後に特定の条件がある場合、パッケージの実行を停止したい。しかし、私は多くのことを試みましたが、成功しませんでした。挿入するたびにエラーが発生するようにトリガーを削除しましたが、SSISパッケージが停止しません。重複するレコードが見つかった場合、sprocの実行に失敗するため、後で停止します。トリガーが起動された後に停止したいと思います。助けてくれてありがとう

私のトリガーのコード:

ALTER TRIGGER [dbo].[TrigInsertBill]
ON [Invoice].[dbo].[Bill]
AFTER INSERT 
AS
BEGIN
RAISERROR('This month/year combo exist in the BILL TABLE',16,1)

 END
4

1 に答える 1

2

個人的には、Excel ファイルをステージング テーブルにロードすることをお勧めします。次に、SQL実行タスクを追加して、チェックしたい条件をチェックし、トリガーにないエラーを発生させます。これは、ファイルに含めることができない特定の条件がある場合にパッケージを停止する方法です。

単に不良レコードをスキップしたい場合は、別のプロセスです。条件付き分割を使用して、不要なレコードを特定し、それらを例外テーブルに送信できます。

于 2012-08-07T22:27:52.190 に答える