我正在处理非常大的分隔文件。这些文件已经过预处理,以确保字段和行分隔符有效。有时会处理未通过 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')