SQL Server データベースに呼び出し行 (Excel ファイル) をインポートするために、SSIS プロジェクトに取り組んでいます。
ここに私のデータフローがあります:
インポート処理の前に行をチェックするために、いくつかのルックアップを追加しました。最初の行は、行が既に存在するかどうかをチェックします (ユーザーが指定したフォルダーにインポート ファイルをドラッグ アンド ドロップするため、重複を防ぐために作成されました)。次に、他のルックアップが外部キー制約をチェックします。さらに、一致しない行はすべて別のデータベースにリダイレクトされます。そのため、無効な行をチェックでき、インポート中に NoMatchingRowsCall テーブルが変更されたかどうかを監査パッケージが知らせてくれます。
ここで、一致しない行に「エラーメッセージ」を追加して、「この行の問題は何ですか?」を確認したいと思います。エラーメッセージを追加するために、各ルックアップ(一致する出力なし)の後に「派生列」を追加すると思います。その方法はどうですか?「派生列」にテキストコンテンツを追加する方法は?パッケージ変数を使用する必要がありますか?
ここに私が取得したいものがあります:
ID | C1 | C2 | C3 | ERROR_MESSAGE
1 | .. | .. | .. | Row already exists
2 | .. | .. | .. | FK error for column C1
3 | .. | .. | .. | FK error for column C2
...
パッケージの実行を停止せずに失敗した行を追跡し、必要に応じて失敗したキーを変更して失敗した行を手動で挿入できるようにする「ソフト」ソリューションが必要です。