SSISパッケージを持っています。タスクのさまざまな動作にいくつかのハンドラーを設定しました。私の質問は次のとおりです。特に1つのタスクが失敗した場合は、他のいくつかのタスクをスキップして先に進みます。そこで、その特定のタスクにOnErrorを設定して、他のタスクにジャンプするようにします。特定のタスクに進むために、ハンドラー内でSSISをどのように言うことができますか?
制御フローの別のタスクにジャンプしたい。
SSISパッケージを持っています。タスクのさまざまな動作にいくつかのハンドラーを設定しました。私の質問は次のとおりです。特に1つのタスクが失敗した場合は、他のいくつかのタスクをスキップして先に進みます。そこで、その特定のタスクにOnErrorを設定して、他のタスクにジャンプするようにします。特定のタスクに進むために、ハンドラー内でSSISをどのように言うことができますか?
制御フローの別のタスクにジャンプしたい。
SSISに対して、優先順位制約を使用して実装する必要があるとは言えません。例:タスクA-> B-> C-> Dがあり、Bが失敗した場合にCを実行したくない場合は、次のように実行できます。
点線に注意してください。優先順位をORに設定する必要があります。そうしないと、Bが成功と失敗の両方の場合にのみDが実行されますが、これは不可能です。
SSISパッケージの制御フロータスクは、パッケージに記述されているフローに基づいて実行されます。Script Task
aとaの2つのタスクがあると仮定しますData flow task
。ここでの両方のタスクは相互に関連しています。スクリプトタスクは、失敗するように意図的にコーディングされています。その場合、パッケージは、スクリプトタスクが正常に実行された場合にのみデータフロータスクを実行するように構成されているため、その時点で実行を停止します。
スクリプトタスクとデータフロータスクの間のコネクタ/優先順位の制約を右クリックして、からSuccess
に変更できCompletion
ます。Data Flow Task
これは、失敗したか成功したかに関係なく、スクリプトタスクの完了時に実行するようにパッケージに指示することを意味します。
これで、パッケージを実行すると、スクリプトタスクが失敗した場合でも、データフロータスクが実行されます。
このように複数のフローを作成することもできます。タスク間のコネクタ/優先順位の制約を右クリックし、正しいステータスを選択して、パッケージが実行するパスを決定するだけです。
お役に立てば幸いです。