OracleConnection.EnlistDistributedTransaction(ITransaction) メソッド

定義

指定したトランザクションに分散トランザクションとして参加させます。

public:
 void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ distributedTransaction);
public void EnlistDistributedTransaction(System.EnterpriseServices.ITransaction distributedTransaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (distributedTransaction As ITransaction)

パラメーター

distributedTransaction
ITransaction

参加する既存の ITransaction への参照。

注釈

ADO .NET 2.0 の新機能は、分散トランザクションに参加するために EnlistTransaction メソッドを使用するためのサポートです。 Transaction インスタンスに接続を参加させるので、EnlistTransaction は分散トランザクションを管理するために System.Transactions 名前空間で使用できる機能を利用するため、この目的のために EnlistDistributedTransaction を使用することをお勧めします。 詳細については、「 分散トランザクション」を参照してください。

を使用して、既存の分散トランザクションに引き続き参加できます。

EnlistDistributedTransaction 自動参加が無効になっている場合はメソッド。 既存の分散トランザクションに参加すると、トランザクションがコミットまたはロールバックされた場合、データ ソースのコードによって行われた変更もコミットまたはロールバックされます。

EnlistDistributedTransaction は、 OracleConnection が既に BeginTransaction を使用してトランザクションを開始している場合は例外を返します。 ただし、トランザクションがデータ ソースで開始されたローカル トランザクションである場合 (たとえば、 OracleCommand オブジェクトを使用して BEGIN TRANSACTION ステートメントを明示的に実行するなど)、 EnlistDistributedTransaction はローカル トランザクションをロールバックし、要求に応じて既存の分散トランザクションに参加します。 ローカル トランザクションがロールバックされたことの通知を受け取らず、 BeginTransactionの使用を開始していないローカル トランザクションを管理する責任があります。

適用対象