SSISでルックアップ変換を使用して、2つのフラットファイルの宛先に接続したいと思います。変換からの2つの緑色の出力があることは知っていますが、「一致出力なし」と「行のリダイレクト」の代わりに赤色のエラー出力を使用できませんでしたか?違いは何ですか?
1 に答える
SSIS のルックアップ変換を使用すると、「一致しない」状況をどのように処理するかを制御できます。ルックアップ変換をダブルクリックし、[一般] タブで、次のオプションのいずれかを選択して、一致しない行を処理する方法を選択できます。
- 失敗を無視: 何も起こらなかったかのように処理を続行します。
- 失敗したコンポーネント: 例外をスローし、データ フロー タスクの処理を停止します。
- 行をエラー出力にリダイレクト: 緑の出力をたどるのではなく、行を赤の出力に移動して個別に処理します。
- 行を一致しない出力にリダイレクトする: 行をセカンダリ出力に切り替えて、一致しないデータを一致するデータとは異なる方法で処理できるようにします。
ルックアップを右クリックして [高度なエディターを表示] を選択すると、もう少し詳細が表示されます。[入力と出力のプロパティ] ペインに移動すると、[Lookup No Match Output] ストリームと [Lookup Error Output] ストリームの違いを確認できます。
「ルックアップ エラー出力」は、エラーをキャッチし、既存の列コレクションにエラーの詳細を追加する、標準の編集不可能な出力ストリームです。これにより、エラーの処理、ログの記録、エラーの原因となった行の追跡などが可能になります。
「Lookup No Match Output」を使用すると、独自の列を定義して、別の出力ストリームに渡したり、一致しない行に対して別の処理を実行したりできます。この良い例は、「参照変換」を使用して、処理中にデータベース内の参照テーブルに新しい行を追加する必要があるかどうかを確認することです。一致しない行は「一致しない出力」にリダイレクトされ、グループ化されて重複が削除され、データベースに挿入され、残りの行は先に進みます。
要するに、それはあなたが何をしようとしているかによって異なります。エラー (つまり、一致しない行を処理する方法とは異なる切り捨て) を処理する場合は、「一致しない出力をルックアップ」を使用できます。
個人的には、Match/No-Match 出力を使用して既知の条件を処理し、実際の予期しない例外処理のために「エラー出力」を保存したいと考えています。