Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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, sino que 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 de 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 de 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, consulte la sección Control de errores y advertencias insertados. |
Control de 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 produjo un error u otras comunicaciones que implican el 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 SOAP para XMLstartA comienzan con "XMLForAnalysis", seguido de un punto y el 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 SOAP, vea Error de soap en el Protocolo de acceso a objetos simple (SOAP) 1.1 de W3C.
Información del código de error
En la tabla siguiente se muestra la información del código de error XMLA contenida 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 soap.
| Nombre de la columna | Tipo | Descripción | Null permitido1 |
|---|---|---|---|
ErrorCode |
UnsignedInt |
Código devuelto que indica el éxito o error del método. El valor hexadecimal debe convertirse en un UnsignedInt valor. |
No |
WarningCode |
UnsignedInt |
Devuelve código que indica una condición de advertencia. El valor hexadecimal debe convertirse en un UnsignedInt valor. |
Sí |
Description |
String |
Texto de error o advertencia y descripción devueltos por el componente que generó el error. | Sí |
Source |
String |
Nombre del componente que generó el error o la advertencia. | Sí |
HelpFile |
String |
Ruta de acceso o dirección URL al archivo de ayuda o tema que describe el error o la advertencia. | Sí |
1 Indica si los datos son necesarios y deben devolverse, o si los datos son opcionales y se permite una cadena nula si la columna no se aplica.
A continuación se muestra un ejemplo de un error soap que se produjo cuando se produjo un error en una llamada al 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 siguientes situaciones 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 Messages propiedad sigue todas las demás propiedades contenidas por el root elemento y pueden contener uno o varios Message elementos. A su vez, cada Message elemento puede contener un solo error elemento o warning que describa los errores o advertencias, respectivamente, que se produjeron para el comando especificado.
Para obtener más información sobre los errores y advertencias que se encuentran en la Messages propiedad , vea Elemento Messages (XMLA) .
Control de 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 punto 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 Messages elemento que contiene la descripción del error.
Control de 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>