Condividi tramite


Gestione degli errori nell'API TOM (AMO-TOM)

Si applica a: SQL Server 2016 e versioni successive di Analysis Services Azure Analysis Services Fabric/Power BI Premium

Una procedura comune per le librerie gestite come Analysis Services Management Objects (AMO) Tabular Object Model (TOM) consiste nell'usare eccezioni come meccanismo per segnalare le condizioni di errore all'utente.

Quando viene rilevato un errore in AMO-TOM, oltre a generare alcune eccezioni .NET standard come ArgumentException e InvalidOperationException, TOM può anche generare diverse eccezioni specifiche di TOM.

Le eccezioni TOM sono derivate dalla classe AmoException, che copre le eccezioni specifiche di AMO e TOM.

Per illustrare la gestione delle eccezioni in TOM, è possibile esaminare una delle eccezioni più comuni, ovvero La classe OperationException.

OperationException viene generato quando un utente avvia un'operazione nel server Analysis Services e il server non riesce a eseguire un'operazione, perché l'azione è illegale o a causa di un altro errore interno o esterno.

Quando viene generata, l'oggetto OperationException conterrà un elenco di errori XMLA restituiti dal server.

Si noti che il server non accetta modifiche non valide. In questo caso, ripristinare l'albero modello nell'ultimo stato valido noto usando il metodo UndoLocalChanges, correggere il modello, quindi ripetere la sottoscrizione.

Esempio di codice: gestire le eccezioni

 try 
 { 
  // Change the Model, for example create a table. 
  // … 
   model.saveChanges(); 
 } 
  catch(operationException ex) 
 { 
  foreach(XmlaError err in ex.Results.OfType<XmlaError>().cast<XmlaError>()) 
  { 
   Console.WriteLine("Error returned from the server:" + err.Messsage ); 
  } 
 } 

Passaggi successivi

Altre eccezioni rilevanti includono quanto segue: