Udostępnij za pośrednictwem


Obsługa błędów i ostrzeżeń (XMLA)

Obsługa błędów jest wymagany, jeśli XML for Analysis (XMLA) Odnajdowanie or wykonać wywołanie metoda nie można uruchomić, jest wykonywana prawidłowo, ale generuje błędy lub ostrzeżenia, lub zostanie wykonane pomyślnie ale zwraca wyniki zawierające błędy.

Błąd

Raportowanie

Wywołanie metoda XMLA nie działa.

Microsoft SQL Server Analysis Services Zwraca komunikat Błąd protokołu SOAP, zawierający szczegółowe informacje o awarii.

Aby uzyskać więcej informacji zobacz sekcję Obsługa błędów protokołu SOAP.

Błędy lub ostrzeżenia na wywołanie metoda powiodło się

Analysis Services zawiera Błąd or Ostrzeżenie element dla każdego błędu lub ostrzeżenia, odpowiednio w Wiadomości Właściwość katalog główny element, który zawiera wyniki wywołania metoda.

Aby uzyskać więcej informacji zobacz sekcję Obsługa błędów i ostrzeżeń.

Błędy w wyniku wywołania metoda powiodło się

Analysis Services zawiera wbudowanego error lub warning element błędu lub ostrzeżenia, odpowiednio, w odpowiednich komórka or wiersz element wyniki wywołania metoda.

Aby uzyskać więcej informacji zobacz sekcję Obsługa wbudowane błędy i ostrzeżenia.

Obsługa błędów protokołu SOAP

Analysis Services Zwraca błąd protokołu SOAP, kiedy występują w następujących sytuacjach:

  • Wiadomość protokołu SOAP, która zawiera metoda XMLA nie został poprawnie sformułowany lub nie mogą być sprawdzone przez Analysis Services wystąpienie.

  • Komunikacji lub inny błąd wystąpił, obejmujących wiadomości protokołu SOAP, zawierającego metoda XMLA.

  • Metoda XMLA nie zostało uruchomione Analysis Services wystąpienie.

Kody błędów protokołu SOAP XMLstartA rozpoczyna się od "XMLForAnalysis", po której następuje kropka i kod szesnastkowy wynik HRESULT.Na przykład kod błędu z"0x80000005"jest w formacie"XMLForAnalysis.0x80000005". Aby uzyskać więcej informacji na temat formatu błąd protokół SOAP zobacz temat usterek SOAP w W3C Simple Object Access protokół (SOAP) 1.1.

Informacje o kod błędu

W poniższej tabela przedstawiono informacje o kodzie błędu XMLA znajduje się w sekcji szczegółów odpowiedź protokołu SOAP.Kolumny są atrybuty z błędu w sekcji szczegółów usterki protokołu SOAP.

Nazwa kolumna

Typ

Description

Dozwolone wartości null1

ErrorCode

UnsignedInt

Zwraca kod, który wskazuje Powodzenie lub Niepowodzenie metoda.Wartość szesnastkowa należy przekonwertować na UnsignedInt wartość.

Nie

WarningCode

UnsignedInt

Zwraca kod, który wskazuje stan ostrzeżenia.Wartość szesnastkowa należy przekonwertować na UnsignedInt wartość.

Tak

Description

String

Błąd lub ostrzeżenie tekstu i opis zwrócony przez składnik, który wygenerował błąd.

Tak

Source

String

Nazwa składnika, który wygenerował błąd lub ostrzeżenie.

Tak

HelpFile

String

Ścieżka lub adres URL do pliku pomocy lub temat, który opisuje błąd lub ostrzeżenie.

Tak

1 Wskazuje, czy dane są wymagane i należy zwrócić, lub czy dane są opcjonalne i ciąg null jest dozwolone, jeśli kolumna nie ma zastosowania.

Poniżej przedstawiono przykład usterki protokołu SOAP, które wystąpiły podczas wywołania metoda nie powiodło się:

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

Obsługa błędów i ostrzeżeń

Analysis Services Zwraca Messages Właściwość root element polecenie, jeśli po wykonaniu tego polecenia w następujących sytuacjach:

  • Sama metoda nie nie powiedzie się, ale wystąpił błąd w Analysis Services wystąpienie po wywołaniu metody powiodło się.

  • The Analysis Services wystąpienie returns a warning when the command is successful.

The Messages właściwość follows all other properties that are contained by the root element, and can contain one or more Message elements. Z kolei, każdy Message element może zawierać albo pojedynczy error lub warning element opisujących ewentualne błędy lub ostrzeżenia, odpowiednio, który wystąpił dla określonego polecenia.

Aby uzyskać więcej informacji na temat błędów i ostrzeżeń, które są zawarte w Messages właściwość, zobacz Element wiadomości (XMLA).

Obsługa błędów podczas serializacji

Jeżeli błąd wystąpi po Analysis Services wystąpienie już się rozpoczęło szeregowania pomyślnie wykonywania polecenia, Analysis Services Zwraca Wyjątek element inny obszar nazw w punkcie z błędu.The Analysis Services wystąpienie then closes all open elements so that the XML document sent to the klient is a valid document. Zwraca również wystąpienie Messages element, który zawiera opis błędu.

Obsługa wbudowane błędy i ostrzeżenia

Analysis Services Zwraca wbudowanego error lub warning polecenie, jeśli metoda XMLA sam nie nie powiedzie się, ale wystąpił błąd specyficzny dla element danych w wyniki zwróconych przez metodę na Analysis Services wystąpienie po wywołaniu metody XMLA zakończyła się pomyślnie.

Analysis Services dostarcza wbudowanego error i warning elementy, jeżeli określone zagadnienia do komórka lub inne dane, które są zawarte w root za pomocą elementu MDDataSet typu danych występują, taki jak błąd zabezpieczeń lub błąd formatowania komórka.W takich przypadkach Analysis Services Zwraca error lub warning element Cell lub row element, który zawiera błąd lub ostrzeżenie, odpowiednio.

Poniższy przykład przedstawia zestaw wyników, który zawiera błąd w zestawie zestaw wierszy zwrócił Execute za pomocą metoda Instrukcja polecenia.

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