小编Pal*_*din的帖子

SqlBulkCopy错误处理/继续错误

我试图将大量数据插入SQL服务器.我的目标表有一个名为"Hash"的唯一索引.

我想用SqlBulkCopy替换我的SqlDataAdapter实现.在SqlDataAapter中有一个名为"ContinueUpdateOnError"的属性,当设置为true时,adapter.Update(table)将插入所有可能的行,并使用RowError属性标记错误行.

问题是我如何使用SqlBulkCopy尽可能快地插入数据,同时跟踪哪些行被插入以及哪些行没有(由于唯一索引)?

以下是其他信息:

  1. 该过程是迭代的,通常按计划重复进行.

  2. 源表和目标表可能很大,有时可能有数百万行.

  3. 即使可以首先检查哈希值,但每行需要两个事务(首先从目标表中选择哈希,然后执行插入).我认为在adapter.update(table)的情况下,检查RowError比检查每行的哈希命中要快.

c# ado.net sqlbulkcopy

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

ado.net ×1

c# ×1

sqlbulkcopy ×1