Compartir a través de


Controlar errores y advertencias (XMLA)

El control de errores es necesario cuando una llamada al método Discover o Execute de XML for Analysis (XMLA) no se ejecuta, se ejecuta correctamente, pero genera errores o advertencias, o se ejecuta correctamente, pero devuelve resultados que contienen errores.

Error Informes
La llamada al método XMLA no se ejecuta Microsoft SQL Server Analysis Services devuelve un mensaje de error SOAP que contiene los detalles del error.

Para obtener más información, consulte la sección Control de errores de SOAP.
Errores o advertencias en una llamada a método correcta Analysis Services incluye un elemento de error o advertencia para cada error o advertencia, respectivamente, en la propiedad Messages del elemento raíz que contiene los resultados de la llamada al método.

Para obtener más información, consulte la sección Control de errores y advertencias.
Errores en el resultado de una llamada a método correcta Analysis Services incluye un elemento insertado error o warning para el error o la advertencia, respectivamente, dentro del elemento Cell o row adecuado de los resultados de la llamada al método.

Para obtener más información, vea la sección Control de errores y advertencias insertados.

Controlar errores de SOAP

Analysis Services devuelve un error SOAP cuando se producen las situaciones siguientes:

  • El mensaje SOAP que contiene el método XMLA no estaba bien formado o no se pudo validar mediante la instancia de Analysis Services.

  • Se ha producido un error de comunicaciones o de otro tipo que afecta al mensaje SOAP que contiene el método XMLA.

  • El método XMLA no se ejecutó en la instancia de Analysis Services.

Los códigos de error de SOAP para XMLstartA empiezan por "XMLForAnalysis", seguido de un punto y del código de resultado HRESULT hexadecimal. Por ejemplo, un código de error de "0x80000005" tiene el formato "XMLForAnalysis.0x80000005". Para obtener más información sobre el formato de error de SOAP, consulte la información sobre errores de SOAP en Simple Object Access Protocol (SOAP) 1.1 de W3C.

Información del código de error

En la tabla siguiente se muestra la información de código de error de XMLA incluida en la sección de detalles de la respuesta SOAP. Las columnas son los atributos de un error en la sección de detalles de un error de SOAP.

Nombre de la columna Tipo Descripción Null permitido1
ErrorCode UnsignedInt Código de retorno que indica la ejecución correcta o el error del método. El valor hexadecimal debe convertirse en un valor UnsignedInt. No
WarningCode UnsignedInt Código de retorno que indica una condición de advertencia. El valor hexadecimal debe convertirse en un valor UnsignedInt.
Description String Texto y descripción del error o la advertencia devueltos por el componente que generó el error.
Source String Nombre del componente que generó el error o la advertencia.
HelpFile String Ruta de acceso o dirección URL del tema o el archivo de Ayuda que describe el error o la advertencia.

1 Indica si los datos son necesarios y deben devolverse, o si los datos son opcionales y se permite una cadena null si la columna no se aplica.

A continuación se muestra un ejemplo de un error de SOAP que se produjo al no poderse realizar una llamada a método:

<?xml version="1.0"?>  
   <SOAP-ENV:Envelope  
   xmlns:SOAP-ENV="https://schemas.xmlsoap.org/soap/envelope/"  
   SOAP-ENV:encodingStyle="https://schemas.xmlsoap.org/soap/encoding/">  
      <SOAP-ENV:Fault>  
         <faultcode>XMLAnalysisError.0x80000005</faultcode>  
         <faultstring>The XML for Analysis provider encountered an error.</faultstring>  
         <faultactor>XML for Analysis Provider</faultactor>  
         <detail>  
<Error  
ErrorCode="2147483653"  
Description="An unexpected error has occurred."  
Source="XML for Analysis Provider"  
HelpFile="" />  
         </detail>  
      </SOAP-ENV:Fault>  
</SOAP-ENV:Envelope>  

Controlar errores y advertencias

Analysis Services devuelve la Messages propiedad en el root elemento de un comando si se producen las situaciones siguientes después de que se ejecute ese comando:

  • El propio método no produjo un error, pero se produjo un error en la instancia de Analysis Services después de que la llamada al método se realizó correctamente.

  • La instancia de Analysis Services devuelve una advertencia cuando el comando se ejecuta correctamente.

La propiedad Messages sigue al resto de las propiedades contenidas en el elemento root y puede contener uno o más elementos Message. A su vez, cada elemento Message puede contener un elemento error o warning único que describa cualquier error o advertencia, respectivamente, que se hayan producido para el comando especificado.

Para obtener más información sobre los errores y advertencias contenidos en la Messages propiedad , vea Elemento Messages (XMLA).

Controlar errores durante la serialización

Si se produce un error después de que la instancia de Analysis Services ya haya comenzado a serializar la salida de un comando ejecutado correctamente, Analysis Services devuelve un elemento Exception en un espacio de nombres diferente en el momento del error. A continuación, la instancia de Analysis Services cierra todos los elementos abiertos para que el documento XML enviado al cliente sea un documento válido. La instancia también devuelve un elemento Messages que contiene la descripción del error.

Controlar errores y advertencias insertados

Analysis Services devuelve un comando insertado error o warning para un comando si el propio método XMLA no produjo un error, pero un error específico de un elemento de datos en los resultados devueltos por el método se produjo en la instancia de Analysis Services después de que la llamada al método XMLA se realizó correctamente.

Analysis Services proporciona elementos insertados error y warning si se producen problemas específicos de una celda u otros datos contenidos en un root elemento mediante el tipo de datos MDDataSet , como un error de seguridad o un error de formato para una celda. En estos casos, Analysis Services devuelve un error elemento o warning en el Cell elemento o row que contiene el error o la advertencia, respectivamente.

En el ejemplo siguiente se muestra un conjunto de resultados que contiene un error en el conjunto de filas devuelto desde un Execute método mediante el comando Statement .

<return>  
   ...  
   <root>  
      ...  
      <CellData>  
      ...  
         <Cell CellOrdinal="10">  
            <Value>  
               <Error>  
                  <ErrorCode>2148497527</ErrorCode>   
                  <Description>Security Error.</Description>   
               </Error>  
            </Value>  
         </Cell>  
      </CellData>  
      ...  
   </root>  
   ...  
</return>  

Consulte también

Desarrollar con XMLA en Analysis Services