Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Fehlerbehandlung ist erforderlich, wenn ein XML für Analysis (XMLA) Discover - oder Execute-Methodenaufruf nicht ausgeführt, erfolgreich ausgeführt wird, aber Fehler oder Warnungen generiert oder erfolgreich ausgeführt wird, sondern Ergebnisse zurückgibt, die Fehler enthalten.
| Fehler | Berichterstattung |
|---|---|
| Der XMLA-Methodenaufruf wird nicht ausgeführt. | Microsoft SQL Server Analysis Services gibt eine SOAP-Fehlermeldung zurück, die die Details des Fehlers enthält. Weitere Informationen finden Sie im Abschnitt " Behandeln von SOAP-Fehlern". |
| Fehler oder Warnungen bei einem erfolgreichen Methodenaufruf | Analysis Services enthält ein Fehler - oder Warnelement für jeden Fehler bzw. jede Warnung in der Messages-Eigenschaft des Stammelements , das die Ergebnisse des Methodenaufrufs enthält. Weitere Informationen finden Sie im Abschnitt " Behandeln von Fehlern und Warnungen". |
| Fehler im Ergebnis für einen erfolgreichen Methodenaufruf | Analysis Services enthält eine Inline error oder warning ein Element für den Fehler bzw. die Warnung innerhalb des entsprechenden Cell - oder Row-Elements der Ergebnisse des Methodenaufrufs.Weitere Informationen finden Sie im Abschnitt " Behandeln von Inlinefehlern und Warnungen". |
Behandeln von SOAP-Fehlern
Analysis Services gibt einen SOAP-Fehler zurück, wenn die folgenden Situationen auftreten:
Die SOAP-Nachricht, die die XMLA-Methode enthält, war nicht wohlgeformt oder konnte von der Analysis Services-Instanz nicht überprüft werden.
Es ist eine Kommunikation oder ein anderer Fehler aufgetreten, der die SOAP-Nachricht enthält, die die XMLA-Methode enthält.
Die XMLA-Methode wurde nicht für die Analysis Services-Instanz ausgeführt.
Die SOAP-Fehlercodes für XMLstartA beginnen mit "XMLForAnalysis", gefolgt von einem Punkt und dem hexadezimalen HRESULT-Ergebniscode. Beispielsweise wird ein Fehlercode von "0x80000005" als "XMLForAnalysis.0x80000005" formatiert. Weitere Informationen zum SOAP-Fehlerformat finden Sie unter Soap Fault in the W3C Simple Object Access Protocol (SOAP) 1.1.
Fehlercodeinformationen
In der folgenden Tabelle sind die XMLA-Fehlercodeinformationen aufgeführt, die im Detailabschnitt der SOAP-Antwort enthalten sind. Die Spalten sind die Attribute eines Fehlers im Detailabschnitt eines SOAP-Fehlers.
| Spaltenname | Typ | BESCHREIBUNG | Null zulässig1 |
|---|---|---|---|
ErrorCode |
UnsignedInt |
Zurückgeben von Code, der den Erfolg oder Fehler der Methode angibt. Der Hexadezimalwert muss in einen UnsignedInt Wert konvertiert werden. |
Nein |
WarningCode |
UnsignedInt |
Gibt Code zurück, der eine Warnungsbedingung angibt. Der Hexadezimalwert muss in einen UnsignedInt Wert konvertiert werden. |
Ja |
Description |
String |
Fehler- oder Warntext und -beschreibung, der von der Komponente zurückgegeben wird, die den Fehler generiert hat. | Ja |
Source |
String |
Name der Komponente, die den Fehler oder die Warnung generiert hat. | Ja |
HelpFile |
String |
Pfad oder URL der Hilfedatei oder des Themas, das den Fehler oder die Warnung beschreibt. | Ja |
1 Gibt an, ob die Daten erforderlich sind und zurückgegeben werden müssen, oder ob die Daten optional sind und eine NULL-Zeichenfolge zulässig ist, wenn die Spalte nicht angewendet wird.
Im Folgenden sehen Sie ein Beispiel für einen SOAP-Fehler, der aufgetreten ist, wenn ein Methodenaufruf fehlgeschlagen ist:
<?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>
Behandeln von Fehlern und Warnungen
Analysis Services gibt die Messages Eigenschaft im root Element für einen Befehl zurück, wenn die folgenden Situationen auftreten, nachdem dieser Befehl ausgeführt wird:
Die Methode selbst konnte nicht fehlschlagen, aber in der Analysis Services-Instanz ist ein Fehler aufgetreten, nachdem der Methodenaufruf erfolgreich war.
Die Analysis Services-Instanz gibt eine Warnung zurück, wenn der Befehl erfolgreich ist.
Die Messages Eigenschaft folgt allen anderen Eigenschaften, die root im Element enthalten sind, und kann ein oder Message mehrere Elemente enthalten. Jedes Message Element kann wiederum entweder ein einzelnes error Element oder warning ein Element enthalten, das Fehler oder Warnungen beschreibt, die für den angegebenen Befehl aufgetreten sind.
Weitere Informationen zu Fehlern und Warnungen, die in der Messages Eigenschaft enthalten sind, finden Sie unter Messages Element (XMLA).
Behandeln von Fehlern während der Serialisierung
Wenn ein Fehler auftritt, nachdem die Analysis Services-Instanz bereits mit der Serialisierung der Ausgabe eines erfolgreich ausgeführten Befehls begonnen hat, gibt Analysis Services an der Fehlerstelle ein Exception-Element in einem anderen Namespace zurück. Die Analysis Services-Instanz schließt dann alle geöffneten Elemente, sodass das an den Client gesendete XML-Dokument ein gültiges Dokument ist. Die Instanz gibt auch ein Messages Element zurück, das die Beschreibung des Fehlers enthält.
Behandeln von Inlinefehlern und Warnungen
Analysis Services gibt eine Inline oder errorwarning einen Befehl zurück, wenn die XMLA-Methode selbst nicht fehlschlug, aber ein für ein Datenelement spezifischer Fehler in den Ergebnissen, die von der Methode zurückgegeben wurden, auf der Analysis Services-Instanz aufgetreten ist, nachdem der XMLA-Methodenaufruf erfolgreich war.
Analysis Services stellt Inline error - und warning Elemente bereit, wenn Spezifische Probleme mit einer Zelle oder anderen Daten, die in einem root Element mit dem MDDataSet-Datentyp enthalten sind, auftreten, z. B. ein Sicherheitsfehler oder Formatierungsfehler für eine Zelle. In diesen Fällen gibt Analysis Services ein Oder-Element errorwarning im Oder row Element zurück, das Cell den Fehler bzw. die Warnung enthält.
Im folgenden Beispiel wird ein Resultset veranschaulicht, das einen Fehler in dem rowset enthält, das mithilfe des Befehls "Anweisung" von einer Execute Methode zurückgegeben wird.
<return>
...
<root>
...
<CellData>
...
<Cell CellOrdinal="10">
<Value>
<Error>
<ErrorCode>2148497527</ErrorCode>
<Description>Security Error.</Description>
</Error>
</Value>
</Cell>
</CellData>
...
</root>
...
</return>