3

毎日データをエクスポートするようにスケジュールされているSSISパッケージがあります。月の初日にのみ実行したいタスクがいくつかあります。これらのタスクをスキップし、月の最初でない場合はパッケージを実行し続けることが重要です。

少し検索した後、次のブログ投稿に投稿された方法を使用してこの問題を解決するための多数の参照を見つけました:http: //bi-polar23.blogspot.com/2007/05/conditional-task-execution。 html

しかし、もっと簡単な解決策があると思います。月の1日目のタスクのそれぞれに式を追加して、その月の日をチェックし、それに応じてタスクの「無効」プロパティを設定できないのはなぜですか。

式の使用とタスクの無効化は、各タスクの前にダミースクリプトを追加するよりもはるかに簡単に思えます。この問題を解決するための私の方法の問題を他の誰かが見たり知ったりしていますか?予備テストは機能しているように見えますが、SSISは厄介であることがわかりました。将来問題が発生する可能性がある場合は、「型破りな」ことはしたくありません。

考えてくれてありがとう。

4

1 に答える 1

8

unconventional条件付きでタスクを無効にする式を設定することについては何もないと思います。私が開発したパッケージで同じことをしました。を使用するのではなくDisable、タスクのプロパティに直接条件を設定することをお勧めします。スクリーンショット # 1を参照してください。言い換えれば、私はあなたのアプローチに同意します。ExpressionsScript Task

このアプローチの注意点は、次にパッケージを調べる人が、特定のタスクが特定の日付 (この場合は月の初日) に実行されなかった理由を認識していない可能性があることです。それを防ぐために、タスクのプロパティにセットAnnotationがあるという記述を追加できます。ExpressionDisable

私が提案するもう1つのことは、月の最初の日の値を計算し、プロパティがtrueEvaluateAsExpressionに設定された変数に格納し、この変数を特定のタスクの式で使用して無効/有効にすることです。これにより、各タスクの式で値を計算できなくなります。スクリーンショット # 1は、変数に格納された値を想定するようにプロパティが設定されていることを示しています。この変数の式は、月の最初の日を計算するように設定できます。DisableIsFirstDayOfMonth

それが役立つことを願っています。

スクリーンショット #1:

1

于 2011-06-01T19:55:12.287 に答える