Partager via


Gestion des erreurs et des avertissements (XMLA)

La gestion des erreurs est requise lorsqu’un appel de méthode XMLA (XMLA) Discover ou Execute ne s’exécute pas, s’exécute correctement, mais génère des erreurs ou des avertissements, ou s’exécute correctement, mais retourne des résultats contenant des erreurs.

Error Création de rapports
L'appel de méthode XMLA ne s'exécute pas Microsoft SQL Server Analysis Services retourne un message d’erreur SOAP qui contient les détails de l’échec.

Pour plus d’informations, consultez la section Gestion des erreurs SOAP.
Erreurs ou avertissements sur un appel de méthode ayant abouti Analysis Services inclut un élément d’erreur ou d’avertissement pour chaque erreur ou avertissement, respectivement, dans la propriété Messages de l’élément racine qui contient les résultats de l’appel de méthode.

Pour plus d’informations, consultez la section Gestion des erreurs et des avertissements.
Erreurs dans les résultats d'un appel de méthode ayant abouti Analysis Services inclut un élément inline error ou warning un élément pour l’erreur ou l’avertissement, respectivement, dans l’élément Cellule ou ligne approprié des résultats de l’appel de méthode.

Pour plus d’informations, consultez la section Gestion des erreurs et avertissements inline.

Gestion des erreurs SOAP

Analysis Services retourne une erreur SOAP lorsque les situations suivantes se produisent :

  • Le message SOAP qui contient la méthode XMLA n’était pas correctement formé ou n’a pas pu être validé par le instance Analysis Services.

  • une communication ou une autre erreur s'est produite impliquant le message SOAP qui contient la méthode XMLA ;

  • La méthode XMLA n’a pas été exécutée sur le instance Analysis Services.

Les codes d'erreur SOAP pour XMLstartA commencent par « XMLForAnalysis », suivis d'un point et du code de résultat hexadécimal HRESULT. Par exemple, le code d'erreur « 0x80000005 » prend la forme « XMLForAnalysis.0x80000005 ». Pour plus d'informations sur le format d'erreur SOAP, consultez la rubrique consacrée aux erreurs Soap dans le document « Simple Object Access Protocol (SOAP) 1.1 » du W3C (en anglais).

Informations de code d'erreur

Le tableau suivant présente les informations de code d'erreur XMLA contenues dans la section détaillée de la réponse SOAP. Les colonnes représentent les attributs d'une erreur dans la section détaillée d'une erreur SOAP.

Nom de la colonne Type Description Null autorisé1
ErrorCode UnsignedInt Code de retour qui indique le succès ou l'échec de la méthode. La valeur hexadécimale doit être convertie en valeur UnsignedInt. No
WarningCode UnsignedInt Code de retour qui indique une condition d'avertissement. La valeur hexadécimale doit être convertie en valeur UnsignedInt. Yes
Description String Texte et description de l'erreur ou de l'avertissement retourné par le composant qui a généré l'erreur. Yes
Source String Nom du composant qui a généré l'erreur ou l'avertissement. Yes
HelpFile String Chemin d'accès ou URL menant au fichier ou à la rubrique d'aide qui décrit l'erreur ou l'avertissement. Yes

1 Indique si les données sont requises et doivent être retournées, ou si les données sont facultatives et une chaîne null est autorisée si la colonne ne s’applique pas.

Voici un exemple d'erreur SOAP qui s'est produite à l'occasion d'un échec d'appel de méthode :

<?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>  

Gestion des erreurs et des avertissements

Analysis Services retourne la Messages propriété dans l’élément root pour une commande si les situations suivantes se produisent après l’exécution de cette commande :

  • La méthode elle-même n’a pas échoué, mais un échec s’est produit sur le instance Analysis Services après la réussite de l’appel de méthode.

  • Le instance Analysis Services retourne un avertissement lorsque la commande réussit.

La propriété Messages suit toutes les autres propriétés contenues dans l'élément root et peut contenir un ou plusieurs éléments Message. De leur côté, les éléments Message peut chacun contenir un élément error ou warning décrivant, respectivement, les erreurs ou les avertissements qui se sont produits pour la commande spécifiée.

Pour plus d’informations sur les erreurs et les avertissements contenus dans la Messages propriété, consultez Élément Messages (XMLA).

Gestion des erreurs pendant la sérialisation

Si une erreur se produit après que le instance Analysis Services a déjà commencé à sérialiser la sortie d’une commande exécutée avec succès, Analysis Services retourne un élément Exception dans un autre espace de noms au point de l’erreur. Le instance Analysis Services ferme ensuite tous les éléments ouverts afin que le document XML envoyé au client soit un document valide. L'instance retourne également un élément Messages qui contient la description de l'erreur.

Gestion des erreurs et des avertissements insérés

Analysis Services retourne une commande inline error ou warning pour une commande si la méthode XMLA elle-même n’a pas échoué, mais une erreur spécifique à un élément de données dans les résultats retournés par la méthode s’est produite sur le instance Analysis Services après la réussite de l’appel de méthode XMLA.

Analysis Services fournit des éléments inline error et warning si des problèmes spécifiques à une cellule ou à d’autres données contenues dans un root élément à l’aide du type de données MDDataSet se produisent, tels qu’une erreur de sécurité ou une erreur de mise en forme pour une cellule. Dans ce cas, Analysis Services retourne un error élément ou warning dans l’élément Cell ou row qui contient l’erreur ou l’avertissement, respectivement.

L’exemple suivant illustre un jeu de résultats qui contient une erreur dans l’ensemble de lignes retourné à partir d’une Execute méthode à l’aide de la commande Statement .

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

Voir aussi

Développement avec XMLA dans Analysis Services