【发布时间】:2015-09-11 21:06:01
【问题描述】:
我有一个 SQL 大容量复制函数,它具有以下代码来创建大容量复制实例。
SqlBulkCopy bulkCopy = new SqlBulkCopy((SqlConnection) WorkConnection,
SqlBulkCopyOptions.FireTriggers, (SqlTransaction) WorkTransaction);
“WorkTransaction”是一个外部事务。它会发生什么
- 如果我们在 SqlBulkCopy 周围使用“使用”块。它会处理这个外部交易吗?
- 如果我们调用关闭函数(“bulkCopy.Close();”),它会提交/释放外部事务吗?
任何帮助将不胜感激!
谢谢
【问题讨论】:
-
Rollback for bulk copy 的可能重复项
-
我非常怀疑它会否决这一点,但这听起来很容易自己测试。启动 SQL Profiler 并运行您的代码。如果你看到
COMMIT,答案是肯定的,如果你没有看到,那么答案是否定的。 -
调用
Dispose()(将其放在“使用”块中)调用Close()函数。请参阅Close method 的备注部分。
标签: c# sqltransaction