OdbcConnection.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 方法在分布式事务中登记。 由于它登记实例中的 Transaction 连接, 因此 EnlistTransaction 利用命名空间中 System.Transactions 可用的功能来管理分布式事务,因此,出于此目的, EnlistDistributedTransaction 更可取。 有关详细信息,请参阅分布式事务。
如果禁用了自动登记,则可以继续使用 EnlistDistributedTransaction 方法在现有分布式事务中登记。 在现有分布式事务中登记可确保提交或回滚事务时,也会提交或回滚数据源上的代码所做的修改。 有关分布式事务的详细信息,请参阅 分布式事务。
EnlistDistributedTransaction如果 已使用 BeginTransaction启动事务,OdbcConnection则返回异常。 但是,如果事务是在数据源 (启动的本地事务,例如,通过使用对象) 显式执行 BEGIN TRANSACTION 语句 OdbcCommand , EnlistDistributedTransaction 则会回滚本地事务,并按请求在现有分布式事务中登记。 你不会收到本地事务已回滚的通知,并且负责管理任何未开始使用 的 BeginTransaction本地事务。