地理コードデータをcsvファイルからデータベースにインポートしています。
次のライブラリを使用しました 。高速のcsvリーダーを使用してcsvを読み取り、SqlBulkCopyを使用しました。
これが私がインポートしているデータの例です
"AB10","1BH","L",0,0,,,20
"AB10","1BR","L",39320,80570,57.14214,-2.11400,21
良好なデータでは問題なく動作しますが、データベースがnull値を受け入れないように設定されているため、一番上の行では例外がスローされます。
不正なデータを無視するようにバルクコピーに指示する方法はありますか?ライブラリの組み込みプロパティを使用して、csvリーダーに不正な行を無視させようとしましたが、機能していないようです。
csv.SkipEmptyLines = true;
csv.MissingFieldAction = MissingFieldAction.ParseError;
csv.DefaultParseErrorAction = ParseErrorAction.AdvanceToNextLine;
別のオプションは、csvを事前に解析し、問題のある行をすべて削除することだと思います。おそらく、.net用のより良いcsvライブラリがありますか?