2012-03-06 10 views
0

私はSSISパッケージを使用して、ファクトテーブルをステージングテーブルに抽出します。私は各テーブルの最後の抽出日を含む制御テーブルを持っています。したがって、パッケージは行を抽出します>制御テーブルの日付。私が持っている問題は、エラーのある行をパッケージのデータフロータスクのエラーファイルにリダイレクトすることです。私が行うと、パッケージは失敗しないので(ロールバックすることはできません)、いくつかの行が実際に通過する可能性があります。プロセスを遂行すれば、最終的に私のファクトテーブルに到達します。今度は、次回、私がコントロールテーブルを更新した場合にパッケージを実行すると、エラーが発生した行が見逃されます。私が日付を使ってコントロールテーブルを更新していないなら、私は通過した行を再抽出します。これのベストプラクティスは何ですか?SSISインクリメンタルロードエラー処理

答えて

1

エラー分岐に行数変換を追加する方法はありますか? SSISでトランザクションオプションを使用しているので、データフローをシーケンスコンテナに配置してデータフローをポストし、行カウント変数の値を評価するように思えます。ゼロより大きい場合は、ロールバック/アボート処理を行います。

+0

返信いただきありがとうございます。実際に行数の変換を使用して私が考えていたものでした。ただし、SSISでリダイレクトエラー行を使用する場合、トランザクションは使用できません。レコードを私のファクトテーブルに渡さないようにステージングテーブルを切り捨てる必要があると思います。私が良いレコードを続けることに決めたら、私はファクトテーブルからファックステーブルを最初に削除して、パッケージを実行して、すでに挿入されているレコードを再挿入しないようにする必要があります。 –