오류 및 경고 처리(XMLA)

XMLA(XML for Analysis) Discover 또는 Execute 메서드 호출이 실행되지 않거나, 성공적으로 실행되지만 오류 또는 경고를 생성하거나, 성공적으로 실행되지만 오류가 포함된 결과를 반환하는 경우 오류 처리가 필요합니다.

오류 보고
XMLA 메서드 호출이 실행되지 않음 Microsoft SQL Server SQL Server Analysis Services 오류 세부 정보가 포함된 SOAP 오류 메시지를 반환합니다.

자세한 내용은 SOAP 오류 처리 섹션을 참조하세요.
메서드 호출이 성공적으로 실행되었으나 오류 또는 경고 발생 SQL Server Analysis Services 메서드 호출 결과를 포함하는 루트 요소의 Messages 속성에 각 오류 또는 경고에 대한 오류 또는 경고 요소가 각각 포함됩니다.

자세한 내용은 오류 및 경고 처리 섹션을 참조하세요.
메서드 호출이 성공적으로 실행되었으나 결과에 오류가 있음 SQL Server Analysis Services 각각 메서드 호출 결과의 적절한 Cell 또는 요소 내에 오류 또는 경고에 대한 인라인 오류 또는 경고 요소를 포함합니다.

자세한 내용은 인라인 오류 및 경고 처리 섹션을 참조하세요.

SOAP 오류 해결

SQL Server Analysis Services 다음과 같은 상황이 발생하면 SOAP 오류를 반환합니다.

  • XMLA 메서드를 포함하는 SOAP 메시지가 올바르게 구성되지 않았거나 SQL Server Analysis Services 인스턴스에서 유효성을 검사할 수 없습니다.

  • XMLA 메서드가 포함된 SOAP 메시지와 관련된 통신 또는 기타 오류가 발생한 경우

  • XMLA 메서드가 SQL Server Analysis Services 인스턴스에서 실행되지 않았습니다.

XMLstartA에 대한 SOAP 오류 코드는 "XMLForAnalysis"로 시작하며 그 뒤에 마침표와 16진수 HRESULT 결과 코드가 붙습니다. 예를 들어 오류 코드 "0x80000005"는 "XMLForAnalysis.0x80000005"가 됩니다. SOAP 오류 형식에 대한 자세한 내용은 W3C SOAP(Simple Object Access Protocol) 1.1에서 Soap Fault를 참조하십시오.

오류 코드 정보

다음 표에서는 SOAP 응답의 세부 정보 섹션에 포함된 XMLA 오류 코드 정보를 보여 줍니다. 열은 SOAP 오류의 세부 정보 섹션에 포함된 오류의 특성을 나타냅니다.

열 이름 Type 설명 Null 허용1
ErrorCode UnsignedInt 메서드의 성공 또는 실패를 나타내는 코드를 반환합니다. 16진수 값은 UnsignedInt 값으로 변환되어야 합니다. 아니요
WarningCode UnsignedInt 경고 조건을 나타내는 코드를 반환합니다. 16진수 값은 UnsignedInt 값으로 변환되어야 합니다.
설명 String 오류가 발생한 구성 요소에서 반환한 오류 또는 경고에 대한 텍스트와 설명입니다.
원본 String 오류 또는 경고가 발생한 구성 요소의 이름입니다.
Helpfile String 오류 또는 경고를 설명하는 도움말 파일 또는 항목의 경로 또는 URL입니다.

1 데이터가 필요하고 반환되어야 하는지 또는 열이 적용되지 않는 경우 데이터가 선택 사항이며 null 문자열이 허용되는지 여부를 나타냅니다.

다음은 메서드 호출이 실패했을 때 발생하는 SOAP 오류 예입니다.

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

오류 및 경고 처리

SQL Server Analysis Services 명령을 실행한 후 다음과 같은 상황이 발생하는 경우 명령에 대한 루트 요소의 Messages 속성을 반환합니다.

  • 메서드 자체는 실패하지 않았지만 메서드 호출이 성공한 후 SQL Server Analysis Services 인스턴스에서 오류가 발생했습니다.

  • SQL Server Analysis Services 인스턴스는 명령이 성공하면 경고를 반환합니다.

Messages 속성은 루트 요소에 포함된 다른 모든 속성을 따르며 하나 이상의 Message 요소를 포함할 수 있습니다. 따라서 각 Message 요소에는 지정된 명령에 대해 발생한 오류 또는 경고를 각각 설명하는 단일 오류 또는 경고 요소가 포함될 수 있습니다.

Messages 속성에 포함된 오류 및 경고에 대한 자세한 내용은 MESSAGES 요소(XMLA)를 참조하세요.

직렬화 중 오류 해결

SQL Server Analysis Services 인스턴스가 성공적으로 실행된 명령의 출력을 직렬화하기 시작한 후에 오류가 발생하면 SQL Server Analysis Services 오류 시점에 다른 네임스페이스에 Exception 요소를 반환합니다. 그런 다음 SQL Server Analysis Services 인스턴스는 열려 있는 모든 요소를 닫아 클라이언트에 전송된 XML 문서가 유효한 문서인지 확인합니다. 또한 인스턴스는 오류에 대한 설명이 포함된 Messages 요소도 반환합니다.

인라인 오류 및 경고 해결

SQL Server Analysis Services XMLA 메서드 자체가 실패하지 않은 경우 명령에 대한 인라인 오류 또는 경고를 반환하지만, XMLA 메서드 호출이 성공한 후 SQL Server Analysis Services 인스턴스에서 메서드가 반환한 결과의 데이터 요소와 관련된 오류가 발생했습니다.

SQL Server Analysis Services MDDataSet 데이터 형식을 사용하여 루트 요소에 포함된 다른 데이터(예: 셀에 대한 보안 오류 또는 서식 지정 오류)가 발생하는 경우 인라인 오류 및 경고 요소를 제공합니다. 이러한 경우 SQL Server Analysis Services 각각 오류 또는 경고가 포함된 Cell 또는 요소에 오류 또는 경고 요소를 반환합니다.

다음 예제에서는 Statement 명령을 사용하여 Execute 메서드에서 반환된 행 집합의 오류를 포함하는 결과 집합을 보여 줍니다.

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

참고 항목

Analysis Services에서 XMLA를 사용하여 개발