1

プロジェクトで初めて rhino ETL を使用していますが、その機能に非常に感銘を受けています。結合操作を使用して 2 つのデータソースを照合します。

データが欠落している場合があるため、LeftOrphanRow をオーバーライドしてエラーを「ログに記録」します。したがって、私は例外をスローし、プロセスの最後に GetAllErrors() を使用して発生したすべての例外を収集します。

しかし、最初の例外でプロセスが中止されているようです。それは意図的にですか?OrphanRows を処理する最善の方法は何でしょうか (特に、プロセスの最後にすべての操作のすべての孤立した行の概要が必要な場合)?

4

1 に答える 1

0

問題は、例外を使用して非例外的なイベントを報告しようとしていることにあるようです。それは実際には例外の目的ではありません。確かに、例外がサードパーティのライブラリを通過することを期待している場合、そのライブラリがその例外に関して特定の方法で動作することに依存するべきではありません。

オーファン行のリストをグローバルなどのどこかに保持しておき、結合操作でオーファン行が発生するたびに追加することはできますか? 次に、EtlProcess が終了したら、リストを印刷します。これを達成するために log4net の使用を検討することもできます。または、単にイベントを発生させて、他の場所にサブスクライブし、適切と思われることを何でも行うことさえできます。

于 2011-04-14T15:36:41.500 に答える