5

あなたの助けと洞察は大歓迎です

SSIS では、ForceExecutionResult = 祖父母コンテナーの成功が必要です

現在、パッケージを次のようにセットアップしています。
親パッケージ = A
子パッケージ = B

- パッケージ実行タスクが A から B を呼び出します
- B が特定のエラー コードで失敗した場合、B

を再試行します OnError イベントを介してB を再試行しますスクリプト タスクを使用して、A のパッケージ実行タスクのハンドラー。

私の考え方では:
- A のパッケージ実行タスクの OnError イベント ハンドラーはスクリプト タスクの親コンテナーです
- A のパッケージ実行タスクはスクリプト タスクの祖父母コンテナー

です どうすれば強制実行結果 = 祖父母コンテナー (A のパッケージ実行タスク) の成功 Bリトライ成功?

現在、B の再試行が成功しても、最初の B の試行で発生した失敗の結果として、A のパッケージ実行タスクは依然として赤 = 失敗を示しています。

スクリプト タスク内で C# または VB を使用してこれをプログラムで行う方法を探しています。

SSIS 2008 を使用しています

読んでくれてありがとう

4

1 に答える 1

1

OnError主なアドバイスは、イベント後にパッケージ B を再実行しないことです。B を呼び出し、パッケージ A が失敗しないことを確認し、パッケージ B の結果を評価して、何をすべきかを決定する必要があります。

  1. コンテナーを作成For Loopし、設定された回数 (= のように最大実行回数) 実行しwhile i < 5 doます。

  2. Execute Packageエラー時に親とパッケージ全体が失敗しないようにタスクを設定します。

  3. 実行コードを評価し、成功/失敗条件でコンテナーScript Taskを終了します。For Loop(i=5 と設定するなど)。

おそらく、C# からパッケージ B を実行できますScript Task。その方法をオブジェクト モデルで確認してください。方法が見つかったら、回答を更新します。

于 2013-11-21T17:02:47.840 に答える