internal string GetAttributeString(OciAttributeType attrType, OciErrorHandle errorHandle) { string output = String.Empty; IntPtr outputPtr = IntPtr.Zero; int outSize; int status = 0; status = OciCalls.OCIAttrGet(Handle, HandleType, out outputPtr, out outSize, attrType, errorHandle); if (status != 0) { OciErrorInfo info = errorHandle.HandleError(); throw new OracleException(info.ErrorCode, info.ErrorMessage); } if (outputPtr != IntPtr.Zero && outSize > 0) { object str = Marshal.PtrToStringAnsi(outputPtr, outSize); if (str != null) { output = String.Copy((string)str); } } return(output); }