ResumeSessionlessTransaction

This method resumes a sessionless transaction using the provided unique transaction identifier.

Declaration

// C#
public void ResumeSessionlessTransaction(byte[] txnID);

Parameters

  • txnID

    the sessionless transaction identifier.

Exceptions

InvalidOperationException - The connection is already associated with a transaction or is currently in a transaction.

ArgumentException - The specified sessionless transaction identifier is invalid.

OracleException - The provided sessionless transaction identifier does not exist in the database (ORA-26218).

OracleException - The database does not support sessionless transactions (ORA-26207).

Remarks

The transaction identifier can be obtained from the BeginSessionlessTransaction() method return value. OracleConnection can operate on a sessionless transaction through its Commit(), Rollback(), and SuspendSessionlessTransaction() methods.

Auto-commit is disabled when this method is invoked successfully.

If the OracleConnection.SessionlessTransactionOptions is set, then ResumeSessionlessTransaction() operates the sessionless transaction based upon the OracleConnection.SessionlessTransactionOptions specified settings.

If the OracleConnection.SessionlessTransactionOptions is not set, then ResumeSessionlessTransaction() operates the sessionless transaction using the following default behavior:

  • Sessionless transaction timeout is 60 seconds.

  • The connection is associated with the OracleConnection.ResumeSessionlessTransaction() sessionless transaction. The transaction only resumes upon the first OracleCommand SQL execution.

  • The sessionless transaction will not be suspended implicitly after SQL execution.