OleDbConnection.EnlistDistributedTransaction(ITransaction) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在指定的事务中登记为分布式事务。
public:
void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ transaction);
public void EnlistDistributedTransaction (System.EnterpriseServices.ITransaction transaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (transaction As ITransaction)
参数
- transaction
- ITransaction
对用于登记的现有 ITransaction 的引用。
注解
ADO.NET 2.0 中的新增功能支持使用 EnlistTransaction 方法在分布式事务中登记。 由于 EnlistTransaction 在实例中Transaction登记连接,因此它利用命名空间中System.Transactions可用于管理分布式事务的功能,因此对于此目的,EnlistDistributedTransaction 更可取。 有关详细信息,请参阅分布式事务。
如果禁用了自动登记,则可以继续使用 方法在现有分布式事务 EnlistDistributedTransaction 中登记。 在现有分布式事务中登记可确保如果提交或回滚事务,则代码在数据源中所做的修改也会提交或回滚。 有关分布式事务的详细信息,请参阅 分布式事务。
EnlistDistributedTransaction如果 已使用 BeginTransaction启动事务,OleDbConnection则返回异常。 但是,如果事务是在数据源 (启动的本地事务,例如,通过使用 OleDbCommand 对象) 显式执行 BEGIN TRANSACTION 语句, EnlistDistributedTransaction 则回滚本地事务,并按请求在现有分布式事务中登记。 你不会收到本地事务已回滚的通知,并且负责管理未使用 BeginTransaction启动的任何本地事务。