次の方法で共有


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使用して分散トランザクションに参加するためのサポートです。 インスタンスに接続を参加させるので TransactionEnlistTransaction は分散トランザクションを管理するために名前空間で System.Transactions 使用できる機能を利用するため、この目的で EnlistDistributedTransaction を使用することをお勧めします。 詳細については、分散トランザクションに関する記事を参照してください。

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

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

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

適用対象