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);
        }