7

私はスクリプト コンポーネント (スクリプト変換) を持っています。これは、DFT、つまり、その一部であるデータ フロー タスクを失敗させることができる必要があります。

私はこのようなエラーを発生させています

try
{
   // Does some work here, which can fail...
}
catch (Exception ex)
{
   bool pbCancel = false;
   this.ComponentMetaData.FireError(0, Variables.TaskName, "Error message: " + ex.Message, String.Empty, 0, out pbCancel);
}

ただし、FireError によってタスクが失敗することはありません。

これは、スクリプト タスクではなく、データ変換タスク内のスクリプト コンポーネントであることに注意してください。

スクリプト コンポーネントからこのタスクを失敗させるにはどうすればよいですか?

4

2 に答える 2

2

あなたの例では、例外をキャッチしていますが、スローしていません。追加するだけ

catch (Exception ex)
{
    // ... your other code here
    throw ex;
}

コンポーネントは失敗します。

于 2019-03-28T16:50:13.543 に答える
1

これはあなたが探しているものです - 2008 R2 C# スクリプト コンポーネント。

bool fireAgain = true;
IDTSComponentMetaData100 myMetaData;
myMetaData = this.ComponentMetaData;

//for information
myMetaData.FireInformation(0, "SubComponent", "Description", string.Empty, 0, ref fireAgain);
//for error
myMetaData.FireError(0, "SubComponent", ex.Message.ToString() + ex.StackTrace, string.Empty, 0, out fireAgain);
于 2014-11-03T18:12:47.507 に答える