SqlBulkCopy 中的错误处理

Error handling in SqlBulkCopy

我正在尝试找到一种使用 SqlBulkCopy 向 MSSQLServer table 执行批量插入的方法,该方法将在出现错误时继续,并且 return 数据 table无法插入的任何行。

当我尝试使用 SqlBulkCopy 执行此操作时,由于事务性质,整个操作失败并回滚。

目前,我倾向于使用循环来迭代数据 table 的行并对每一行执行插入,但如果可能的话,我更愿意使用SqlBulkCopy 方法与 class.

中的其余操作保持一致

是否可以以非事务方式指示 SqlBulkCopy 运行,或者我最好只使用循环和单独插入?

我想这已经回答了很多次了。基本思想是要么只插入有效数据,要么插入到暂存 table 而没有可能失败的约束。然后,您可以 insert...select 将正确的行移至实际目标 table。