BeginSessionlessTransaction
このメソッドは、新しいセッションレス・トランザクションを開始し、そのグローバル・トランザクション識別子を返します。
宣言
// C# public byte[] BeginSessionlessTransaction();
戻り値
セッションレス・トランザクションの一意のトランザクション識別子。
例外
InvalidOperationException - 接続はすでにトランザクションに関連付けられているか、現在トランザクションにあります。
OracleException - データベースはセッションレス・トランザクションをサポートしていません(ORA-26207)。
備考
一意のトランザクション識別子は、OracleConnection.ResumeSessionlessTransaction()
メソッドを使用してトランザクションを再開するために使用されます。
セッションレス・トランザクションの分離レベルは、セッションの現在の分離レベルに基づきます。OracleConnectionは、Commit()
、Rollback()
、SuspendSessionlessTransaction()
およびResumeSessionlessTransaction()
メソッドを介してセッションレス・トランザクションを操作できます。
このメソッドが正常に呼び出されると、自動コミットが無効になります。
OracleConnection.SessionlessTransactionOptions
が設定されている場合、BeginSessionlessTransaction()
は、OracleConnection.SessionlessTransactionOptions
で指定された設定に基づいてセッションレス・トランザクションを処理します。
OracleConnection.SessionlessTransactionOptions
が設定されていない場合、BeginSessionlessTransaction()
は、次のデフォルトの動作を使用してセッションレス・トランザクションを処理します:
-
セッションレス・トランザクション・タイムアウトは60秒です。
-
接続は、
OracleConnection.BeginSessionlessTransaction()
セッションレス・トランザクションに関連付けられます。トランザクションは、最初のOracleCommand
SQL実行時に開始されます。 -
セッションレス・トランザクションは、SQLの実行後に暗黙的には一時停止されません。