Condividi tramite


Gestione di errori e avvisi (XMLA)

La gestione degli errori è necessaria quando non viene eseguita una chiamata al metodo XML for Analysis (XMLA ) oExecute , viene eseguita correttamente, ma genera errori o avvisi oppure viene eseguita correttamente ma restituisce risultati contenenti errori.

Errore Rendicontazione
La chiamata al metodo XMLA non viene eseguita Microsoft SQL Server Analysis Services restituisce un messaggio di errore SOAP contenente i dettagli dell'errore.

Per altre informazioni, vedere la sezione Gestione degli errori SOAP.
Errori o avvisi in una chiamata al metodo riuscita Analysis Services include un errore o un elemento di avviso per ogni errore o avviso, rispettivamente, nella proprietà Messages dell'elemento radice che contiene i risultati della chiamata al metodo.

Per altre informazioni, vedere la sezione Gestione di errori e avvisi.
Errori nel risultato per una chiamata al metodo riuscita Analysis Services include un elemento o warning inline error per l'errore o l'avviso, rispettivamente, all'interno dell'elemento Cell o row appropriato dei risultati della chiamata al metodo.

Per altre informazioni, vedere la sezione Gestione degli errori inline e degli avvisi.

Gestione degli errori SOAP

Analysis Services restituisce un errore SOAP quando si verificano le situazioni seguenti:

  • Il messaggio SOAP che contiene il metodo XMLA non è stato formato correttamente o non è stato possibile convalidare dall'istanza di Analysis Services.

  • Si è verificato un errore di comunicazione o di altro tipo che riguarda il messaggio SOAP contenente il metodo XMLA.

  • Il metodo XMLA non è stato eseguito nell'istanza di Analysis Services.

I codici di errore SOAP per XMLstartA iniziano con "XMLForAnalysis", seguiti da un punto e dal codice di risultato HRESULT esadecimale. Ad esempio, un codice di errore di "0x80000005" è formattato come "XMLForAnalysis.0x80000005". Per altre informazioni sul formato di errore SOAP, vedere Errore Soap in W3C Simple Object Access Protocol (SOAP) 1.1.

Informazioni sul codice di errore

Nella tabella seguente vengono illustrate le informazioni sul codice di errore XMLA contenute nella sezione dei dettagli della risposta SOAP. Le colonne sono gli attributi di un errore nella sezione dei dettagli di un errore SOAP.

Nome della colonna TIPO Descrizione Null consentito1
ErrorCode UnsignedInt Codice restituito che indica l'esito positivo o negativo del metodo. Il valore esadecimale deve essere convertito in un UnsignedInt valore. NO
WarningCode UnsignedInt Codice restituito che indica una condizione di avviso. Il valore esadecimale deve essere convertito in un UnsignedInt valore.
Description String Testo di errore o avviso e descrizione restituiti dal componente che ha generato l'errore.
Source String Nome del componente che ha generato l'errore o l'avviso.
HelpFile String Percorso o URL del file o dell'argomento della Guida che descrive l'errore o l'avviso.

1 Indica se i dati sono necessari e devono essere restituiti oppure se i dati sono facoltativi e se è consentita una stringa Null se la colonna non è applicabile.

Di seguito è riportato un esempio di errore SOAP che si è verificato quando una chiamata al metodo non è riuscita:

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

Gestione di errori e avvisi

Analysis Services restituisce la Messages proprietà nell'elemento per un comando se si verificano le situazioni seguenti dopo l'esecuzione root del comando:

  • Il metodo stesso non ha avuto esito negativo, ma si è verificato un errore nell'istanza di Analysis Services dopo che la chiamata al metodo è riuscita.

  • L'istanza di Analysis Services restituisce un avviso quando il comando ha esito positivo.

La Messages proprietà segue tutte le altre proprietà contenute nell'elemento root e può contenere uno o più Message elementi. A sua volta, ogni Message elemento può contenere un singolo error elemento o warning che descrive gli eventuali errori o avvisi, rispettivamente, che si sono verificati per il comando specificato.

Per altre informazioni sugli errori e gli avvisi contenuti nella Messages proprietà , vedere Elemento Messages (XMLA).

Gestione degli errori durante la serializzazione

Se si verifica un errore dopo che l'istanza di Analysis Services ha già iniziato a serializzare l'output di un comando eseguito correttamente, Analysis Services restituisce un elemento Exception in uno spazio dei nomi diverso al momento dell'errore. L'istanza di Analysis Services chiude quindi tutti gli elementi aperti in modo che il documento XML inviato al client sia un documento valido. L'istanza restituisce anche un Messages elemento che contiene la descrizione dell'errore.

Gestione di errori e avvisi inline

Analysis Services restituisce un oggetto inline error o warning per un comando se il metodo XMLA stesso non ha avuto esito negativo, ma un errore specifico di un elemento dati nei risultati restituiti dal metodo si è verificato nell'istanza di Analysis Services dopo che la chiamata al metodo XMLA ha avuto esito positivo.

Analysis Services fornisce elementi inline error e warning se si verificano problemi specifici di una cella o di altri dati contenuti all'interno di un root elemento che utilizzano il tipo di dati MDDataSet , ad esempio un errore di sicurezza o un errore di formattazione per una cella. In questi casi, Analysis Services restituisce rispettivamente un error elemento o warning nell'elemento Cell o row che contiene l'errore o l'avviso.

Nell'esempio seguente viene illustrato un set di risultati contenente un errore nel set di righe restituito da un Execute metodo usando il comando Statement .

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

Vedere anche

Sviluppo con XMLA in Analysis Services