Partager via


Gestion des erreurs et des avertissements (XMLA)

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

Erreur Rapports
L'appel de méthode XMLA ne s'exécute pas Microsoft SQL Server 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 SQL Server 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 SQL Server Analysis Services inclut un élément d’erreur ou d’avertissement inline 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 des avertissements inline.

Gestion des erreurs SOAP

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

  • Le message SOAP qui contient la méthode XMLA n’a pas été correctement formé ou n’a pas pu être validé par l’instance SQL Server 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 l’instance SQL Server 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 . Non
WarningCode UnsignedInt Code de retour qui indique une condition d'avertissement. La valeur hexadécimale doit être convertie en valeur UnsignedInt . Oui
Description Chaîne Texte et description de l'erreur ou de l'avertissement retourné par le composant qui a généré l'erreur. Oui
Source Chaîne Nom du composant qui a généré l'erreur ou l'avertissement. Oui
HelpFile Chaîne Chemin d'accès ou URL menant au fichier ou à la rubrique d'aide qui décrit l'erreur ou l'avertissement. Oui

1 Indique si les données sont requises et doivent être retournées, ou si les données sont facultatives et qu’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="http://schemas.xmlsoap.org/soap/envelope/"  
   SOAP-ENV:encodingStyle="http://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

SQL Server Analysis Services retourne la propriété Messages dans l’élément racine d’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 une défaillance s’est produite sur l’instance SQL Server Analysis Services une fois l’appel de méthode réussi.

  • L’instance SQL Server Analysis Services retourne un avertissement lorsque la commande réussit.

La propriété Messages suit toutes les autres propriétés contenues par l’élément racine et peut contenir un ou plusieurs éléments Message . À son tour, chaque élément Message peut contenir un seul élément d’erreur ou d’avertissement décrivant les erreurs ou avertissements, respectivement, qui se sont produits pour la commande spécifiée.

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

Gestion des erreurs pendant la sérialisation

Si une erreur se produit après que l’instance de SQL Server Analysis Services a déjà commencé à sérialiser la sortie d’une commande exécutée avec succès, SQL Server Analysis Services retourne un élément Exception dans un autre espace de noms au moment de l’erreur. L’instance SQL Server 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

SQL Server Analysis Services retourne une erreur inline ou un avertissement 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 l’instance SQL Server Analysis Services après l’appel de méthode XMLA réussi.

SQL Server Analysis Services fournit des éléments d’erreur et d’avertissement inline si des problèmes spécifiques à une cellule ou à d’autres données contenues dans un élément racine utilisant le type de données MDDataSet se produisent, comme une erreur de sécurité ou une erreur de mise en forme pour une cellule. Dans ces cas, SQL Server Analysis Services retourne un élément d’erreur ou d’avertissement dans l’élément Cell ou row qui contient respectivement l’erreur ou l’avertissement.

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

<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