Gestione degli errori nell'API TOM (AMO-TOM)
Si applica a:
SQL Server 2016 e versioni successive Analysis Services
Azure Analysis Services
Power BI Premium
Una pratica comune per le librerie gestite come Analysis Services Management Objects (AMO) Tabular Object Model (TOM) consiste nell'usare le eccezioni come meccanismo per la segnalazione delle 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ò generare anche diverse eccezioni specifiche di TOM.
Le eccezioni TOM derivano dalla classe AmoException, che copre sia le eccezioni specifiche di AMO che di TOM.
Per illustrare la gestione delle eccezioni in TOM, si esamini una delle eccezioni più comuni, ovvero la classe OperationException.
OperationException viene generata quando un utente avvia un'operazione nel server Analysis Services e il server non riesce a eseguire un'operazione, perché l'azione non è valida o a causa di un altro errore interno o esterno.
Quando viene generato, l'oggetto OperationException conterrà un elenco di errori XMLA restituiti dal server.
Si noti che il server non accetterà modifiche non valide. In questo caso, ripristinare l'albero del modello all'ultimo stato valido noto usando il metodo UndoLocalChanges, correggere il modello e quindi inviare di nuovo.
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
Di seguito sono riportate altre eccezioni rilevanti: