在事务性SqlBulkCopy期间管理网络故障

我正在研究ADO.Net中的SqlClient的SqlBulkCopy并提出以下问题。 如果在SqlBulkCopy操作期间出现网络错误,在大量记录中作为事务的一部分运行,会发生什么? 交易是否会在服务器中保持打开状态(既不提交也不回滚),直到我们手动终止它为止? 将DataSet中的两个DataTables(InvoiceHeader,InvoiceDetails)中的大量记录发送到相应的SQL Server表(InvoiceHeader,InvoiceDetails)的最佳方法是什么? 谢谢。 编辑: 我想添加的一些细节,但忘了: 这是针对.Net v3.5;我正在使用Enterprise Library进行所有数据库交互。     
已邀请:
假设您正在使用TransactionScope,我的理解是,不会,事务将不会保持打开状态,因为SQL Server将检测环境事务并自动登记。这意味着最糟糕的情况是交易超时,回滚。您可以更改事务绑定以指定在超时的情况下要执行的操作(您可能希望显式取消绑定)。     

要回复问题请先登录注册