3

SSISパッケージを持っています。タスクのさまざまな動作にいくつかのハンドラーを設定しました。私の質問は次のとおりです。特に1つのタスクが失敗した場合は、他のいくつかのタスクをスキップして先に進みます。そこで、その特定のタスクにOnErrorを設定して、他のタスクにジャンプするようにします。特定のタスクに進むために、ハンドラー内でSSISをどのように言うことができますか?

制御フローの別のタスクにジャンプしたい。

4

2 に答える 2

2

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

点線に注意してください。優先順位をORに設定する必要があります。そうしないと、Bが成功と失敗の両方の場合にのみDが実行されますが、これは不可能です。

ここに画像の説明を入力してください

于 2012-04-27T14:15:41.513 に答える
1

SSISパッケージの制御フロータスクは、パッケージに記述されているフローに基づいて実行されます。Script Taskaとaの2つのタスクがあると仮定しますData flow task。ここでの両方のタスクは相互に関連しています。スクリプトタスクは、失敗するように意図的にコーディングされています。その場合、パッケージは、スクリプトタスクが正常に実行された場合にのみデータフロータスクを実行するように構成されているため、その時点で実行を停止します。

失敗

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

制約を右クリック

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

完了

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

複数のフロー

お役に立てば幸いです。

于 2012-04-27T14:16:47.960 に答える