private void UnEnlist()
 {
     if (this._enlistContext != null)
     {
         this.TransactionState = System.Data.OracleClient.TransactionState.AutoCommit;
         this._enlistContext.Join(this, null);
         OciEnlistContext.SafeDispose(ref this._enlistContext);
         this.Transaction = null;
     }
 }
 public override void Dispose()
 {
     this.Deactivate();
     OciEnlistContext.SafeDispose(ref this._enlistContext);
     OciHandle.SafeDispose(ref this._sessionHandle);
     OciHandle.SafeDispose(ref this._serviceContextHandle);
     OciHandle.SafeDispose(ref this._serverHandle);
     OciHandle.SafeDispose(ref this._errorHandle);
     OciHandle.SafeDispose(ref this._environmentHandle);
     if (this._scratchBuffer != null)
     {
         this._scratchBuffer.Dispose();
     }
     this._scratchBuffer       = null;
     this._encodingDatabase    = null;
     this._encodingNational    = null;
     this._transaction         = null;
     this._serverVersionString = null;
     base.Dispose();
 }