OracleConnection.EnlistDistributedTransaction(ITransaction) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したトランザクションに分散トランザクションとして参加させます。
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の使用を開始していないローカル トランザクションを管理する責任があります。