【问题标题】:Managing a Network failure during a Transactional SqlBulkCopy在事务性 SqlBulkCopy 期间管理网络故障
【发布时间】:2011-04-11 18:12:54
【问题描述】:

我正在ADO.Net中研究SqlClient的SqlBulkCopy,有以下问题。

如果在 SqlBulkCopy 操作过程中出现网络错误,作为事务的一部分在大量记录下运行,会发生什么情况?

事务是否会在服务器中保持打开状态(既不提交也不回滚),直到我们手动终止它?

将数据集中两个数据表(InvoiceHeader、InvoiceDetails)中的大量记录发送到各自的 SQL Server 表(InvoiceHeader、InvoiceDetails)的最佳方法是什么?

谢谢。

编辑:

我想补充一些细节,但忘记了:

这是针对 .Net v3.5 的;我正在使用 Enterprise Library 进行所有数据库交互。

【问题讨论】:

    标签: c# sql ado.net sqlbulkcopy


    【解决方案1】:

    假设您使用的是 TransactionScope,my understanding is that no,事务将不会保持打开状态,因为 SQL Server 将检测环境事务并自动登记。这意味着最坏的情况是事务超时,回滚。您可以更改transaction binding 以指定在超时情况下要做什么(您可能希望显式取消绑定)。

    【讨论】:

      猜你喜欢
      • 2022-12-03
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      相关资源
      最近更新 更多