protected override Common.DbTransaction BeginDbTransaction(IsolationLevel isolationLevel) { if (state == ConnectionState.Closed) { throw new InvalidOperationException("The connection is not open."); } if (transaction != null) { throw new InvalidOperationException("OracleConnection does not support parallel transactions."); } OciTransactionHandle transactionHandle = oci.CreateTransaction(); if (transactionHandle == null) { throw new Exception("Error: Unable to start transaction"); } else { transactionHandle.Begin(); transaction = new OracleTransaction(this, isolationLevel, transactionHandle); } return(transaction); }