C# 如果在插入大量数据时网络连接丢失,会发生什么情况?

C# 如果在插入大量数据时网络连接丢失,会发生什么情况?,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我正在使用ASP.NET与C#和SQL Server。我正在按顺序插入10000条记录 假设插入6000条记录后,网络连接丢失。在这个时候会发生什么?是否插入6000条记录 如果插入了这6000条记录,那么剩余的4000条记录呢?如何确定插入了多少条记录以及如何反转6000条记录 是否有其他解决此问题的方法?如果出现此问题,我需要解决什么?最后不应该有重复的数据。 < P>这取决于你考虑插入。< /P> 10.000条insert语句,无事务:未回滚任何内容 事务中的10k insert语句—所

我正在使用ASP.NET与C#和SQL Server。我正在按顺序插入10000条记录

假设插入6000条记录后,网络连接丢失。在这个时候会发生什么?是否插入6000条记录

如果插入了这6000条记录,那么剩余的4000条记录呢?如何确定插入了多少条记录以及如何反转6000条记录


是否有其他解决此问题的方法?如果出现此问题,我需要解决什么?最后不应该有重复的数据。

< P>这取决于你考虑插入。< /P> 10.000条insert语句,无事务:未回滚任何内容

事务中的10k insert语句—所有操作的回滚

最好的办法是为此制定计划:

  • 将SQLBUlkCopy使用到一个临时表中,然后再从临时表中删除到最后一个表中(SQLBUlkCopy在并发表访问方面存在一些严重问题,您可以这样绕过这些问题)
  • 使用合并移动到最终表中

重新运行insert的计划-Mergfe确保这一点(无需清理)。

取决于您是否使用事务?如何插入这些记录?我没有使用事务SqlTransaction是最好的方法