SSIS パッケージを Rhino ETL に移行しています。現在、SSIS パッケージは、すべての列が null 可能で varchar である代替宛先テーブルに不良行を出力します。正常な行は実際の宛先テーブルに送られますが、エラーが発生すると、不良な行がこの別のエラー テーブルにリダイレクトされます。Rhino ETL に同じことをさせる方法はありますか?
宛先テーブルは Sql Server 2008 R2 SP2 です。
SSIS パッケージを Rhino ETL に移行しています。現在、SSIS パッケージは、すべての列が null 可能で varchar である代替宛先テーブルに不良行を出力します。正常な行は実際の宛先テーブルに送られますが、エラーが発生すると、不良な行がこの別のエラー テーブルにリダイレクトされます。Rhino ETL に同じことをさせる方法はありますか?
宛先テーブルは Sql Server 2008 R2 SP2 です。
私たちがしたことは、2 つのプロセスを作成する必要があったことです。1 つ目は一括コピー書き込みで終了します。2 番目は、行ごとに書き込みを行います。
一括コピーが失敗した場合は、行ごとのプロセスを開始します。
次に、トランザクションですべてを実行していたため、OutputCommandOperation の Execute メソッドをオーバーライドしました。このため、障害が発生するとすべてがバックアウトされます。
トランザクションを取り出し、execute non クエリに catch を追加し、例外のある行にエラー列を追加して、yield break から yield return 行に変更しました。
次に、最後のステップとなる行ごとのプロセスに FailWrite 操作を登録し、エラー列を持つ行をエラー宛先に書き込みます。