0

tMap.csv ファイルを読み取り、このファイルから .csv を介してデータを変換し、ファイルから DB にデータを書き込む単純なジョブがあります。.csv ファイルにエラーが見つかった場合、エラーを含む行がエスケープされ、他のすべてのデータが DB に書き込まれます。die on error がチェックされている場合、DB への書き込みは、エラーのある行に達すると中止されます。

エラーがない場合はすべてのデータを DB に書き込み、エラーが 1 つでもある場合はデータを何も書き込まないようにしたい場合はどうすればよいですか?

前もって感謝します!

4

2 に答える 2

2

@Ryanが述べたように、通常の標準はトランザクションを使用することです。これが何らかの理由で不可能な場合 (トランザクションごとの行ロック制限について聞いたり見たりしたことがあると思いました)、結果を実際のテーブルの一時コピーにダンプすることを検討してください。エラーが発生しない場合は、本番テーブルに追加します。エラーが発生した場合は、エラー メッセージを表示して (一時) テーブルを削除します。

于 2011-11-16T23:42:19.783 に答える
1

トランザクションを使用する必要があります。これにより、エラーが発生した場合にロールバックできます。

トランザクションの実装方法は、使用しているデータベースによって異なります。それはどれですか?

于 2011-11-16T15:02:08.667 に答える