非常に大きな区切りファイルを処理しています。これらのファイルは、フィールドと行の区切り文字が有効であることを確認するために前処理されています。時折、TSQL制約に失敗する行が処理されます(通常はデータ型の問題)。この場合、入力データを「修正」することはできません。
MAXERRORS
許容可能な数の入力エラーを設定し、ERRORFILE
失敗した行をログに記録するために使用します。
一括挿入はSSMSで完了し、失敗した行ごとに重大度レベル16のエラーメッセージがメッセージウィンドウに記録されます。C#SqlCommand
クラスを介してこのコードを実行しようとすると、最初の重大度レベル16のエラーメッセージが生成されたときに例外がスローされ、バッチが失敗します。
操作を完了し、C#やSqlCommandなどを介してSQLエラーメッセージを無視する方法はありますか?
コマンドの例:
BULK INSERT #some-table FROM 'filename'
WITH(FIELDTERMINATOR ='\0',ROWTERMINATOR ='\n',FIRSTROW = 2, MAXERRORS = 100, ERRORFILE = 'some-file')