2012-04-27 3 views
3

私はSSISパッケージを持っています。私はタスクのための異なる行動のためにいくつかのハンドラを設定しました。 私の質問です:特に1つのタスク、それが失敗した場合、私はいくつかの他のタスクをスキップして先にジャンプしたい。 その特定のタスクのOnErrorを設定して、他のタスクにジャンプしたいと思います。 特定のタスクに進むためにハンドラ内のSSISをどのようにすればいいですか?タスクの状態に基づいて制御タスクフローを変更するにはどうすればよいですか?

コントロールフローで別のタスクにジャンプしたいと思います。

+0

全体パッケージ内 –

答えて

2

SSISには、それを優先制約で実装する必要はありません。 例:A - > B - > C - > Dというタスクがあり、Bが失敗した場合にCを実行しないようにするには、次のようにします。

点線に注意してください。優先するか、そうでなければDは、Bの両方が成功した場合に実行され、SSISパッケージの

enter image description here

+0

優秀!ちょうど私が欲しいもの。 –

1

制御フロータスクがパッケージに記載のフローに基づいて実行可能ではないれ、失敗するだろう。 Script TaskData flow taskの2つのタスクがあるとします。ここの両方のタスクは互いに接続されています。スクリプトタスクは意図的に失敗するようにコード化されています。実行されると、スクリプトタスクの正常な実行時にのみデータフロータスクを実行するように構成されているため、パッケージはその時点で実行を停止します。

failure

あなたは正しいスクリプトタスクとデータフロータスク間のコネクタ/優先順位制約をクリックしてSuccessからCompletionにそれを変更することができます。これは、失敗か成功かに関係なく、スクリプトタスクの完了時にData Flow Taskを実行するようパッケージに指示することを意味します。今

right-click on constraint

パッケージを実行する場合、それは、スクリプトタスクが失敗した場合でも、データフロータスクを実行します。

completion

あなたは、このような複数のフローをも持つことができます。タスク間のコネクタ/優先制約を右クリックし、正しいステータスを選択してパッケージが実行するパスを決定するだけです。

multiple flows

お役に立てば幸いです。

+0

それは多くの助けになりました!いつものようにあなたの素晴らしい答えに感謝します。 –

関連する問題