Installare, distribuire e fare riferimento al modello a oggetti tabulare
Si applica a:
SQL Server 2016 e versioni successive Analysis Services
Azure Analysis Services
Power BI Premium
Questo articolo descrive come scaricare, fare riferimento e ridistribuire il modello a oggetti tabulare (TOM, Tabular Object Model), una libreria C# per la creazione e la gestione di modelli tabulari e database in codice gestito.
TOM è un'estensione della libreria client AMO (Microsoft.AnalysisServices.dll). Per usare TOM, il modello e il database devono essere al livello di compatibilità 1200 o superiore.
Assembly AMO-TOM
AMO include nuovi assembly Core, Tabular e JSON. Include anche l'assembly AMO originale, Microsoft.AnalysisServices.dll, che fa parte del Analysis Services dalla prima versione. Un amo ristrutturato consente di eseguire l'offload delle classi comuni in un assembly e fornisce una divisione logica tra API tabulari e multidimensionali tramite assembly aggiuntivi.
La tabella seguente descrive ogni assembly:
| Assembly | Funzionalità | Classi importanti |
|---|---|---|
| Core Microsoft.AnalysisServices.Core.dll |
Comune ai database tabulari e multidimensionali. Fornisce la gestione delle eccezioni, connessioni generiche a un'istanza del server e a un database e l'accesso a proprietà e metodi comuni per gli oggetti Server e Database. |
Core Server Database principale Amoexception |
| TOM Microsoft.AnalysisServices.Tabular.dll versione 13.0.1601.5 o successiva. |
Creare e gestire oggetti di metadati tabulari. | TOM Server TOM Database Modellare Tabella Colonna Relazione |
| AMO Microsoft.AnalysisServices.dll |
Creare e gestire oggetti di metadati multidimensionali, inclusi i database tabulari 1050-1103. | AMO Server AMO Database Cubo Dimensione MeasureGroup |
| Json Microsoft.AnalysisServices.Tabular.Json.dll |
DLL helper che esegue il wrapping del NewtonSoftJson.dll (JSON.NET) per controllare gli aggiornamenti, eliminando il rischio di introdurre modifiche funzionali alla serializzazione JSON nei carichi di lavoro del server. Questa DLL esiste come dipendenza in TOM e non deve essere usata direttamente nel codice. |
Nessuno. |
Informazioni sulle dipendenze degli assembly
Per eseguire la programmazione in amo, la soluzione deve includere riferimenti a DLL dipendenti. Amo e TOM dipendono da Core perché fornisce classi di base.
AMO dipende da TOM perché alcune classi in AMO fanno riferimento a classi da TOM. Ad esempio, l'oggetto database AMO ha una proprietà Model di tipo Model, implementata nella DLL TOM.

Non è possibile distribuire i Microsoft.AnalysisServices.dll senza Microsoft.AnalysisServices.Tabular.dll, ma è possibile fare riferimento ai rispettivi spazi dei nomi senza l'altro.
Scelta dello spazio dei nomi da usare nel codice
Nella gerarchia di oggetti qualsiasi oggetto al di sotto di Database è una costruzione di metadati tabulari tramite l'oggetto Model o una costruzione di metadati multidimensionali tramite un oggetto Cube, Dimension o MeasureGroup. Per le operazioni di alto livello a livello di server, database, ruolo o traccia, la scelta dello spazio dei nomi a cui fare riferimento dipenderà dai carichi di lavoro che il codice deve supportare.
- Usare Tabular.Server o Tabular.Database se la soluzione è con livello di compatibilità 1200 o superiore e l'oggetto Database con cui si lavora deve fornire l'accesso a Model, Table, Columns e ad altri oggetti espressi come costruzione di metadati tabulari.
- Usare AnalysisServices.Server o AnalysisServices.Database se il codice downstream fa riferimento a oggetti multidimensionali, ad esempio cubi, origini dati, oggetti DataSourceView e dimensioni.
Saranno necessari entrambi gli spazi dei nomi per gli strumenti e le applicazioni che supportano una combinazione di database e tipi di modello.
Non è necessario fare riferimento allo spazio dei nomi Core nel codice. Le classi in Core sono classi di base create allo scopo di fornire proprietà comuni, ad esempio Nome e Descrizione, per gli oggetti principali.
Scaricare e installare AMO
Passare a Librerie client.
Selezionare e scaricare AMO usando il programma Windows di installazione o NuGet pacchetti.
Aggiungere riferimenti
In Esplora soluzioni > Aggiungi riferimento > Sfoglia.
Passare a C:\Programmi\Microsoft SQL Server\140\SDK\Assemblies e selezionare:
- Microsoft.AnalysisServices.Core
- Microsoft.AnalysisServices.Tabular
- Microsoft.AnalysisSerivces.Tabular.Json
Fare clic su OK. In Esplora soluzioni verificare che gli assembly esistano nella cartella Riferimenti.
Nella tabella codici aggiungere lo spazio dei nomi Microsoft.AnalysisServces.Tabular se i database e i modelli hanno un livello di compatibilità tabulare 1200 o superiore.
using Microsoft.AnalysisServices; using Microsoft.AnalysisServices.Tabular;Quando si includono spazi dei nomi che hanno classi in comune per gli oggetti Server, Database, Role e Trace, evitare riferimenti ambigui qualificando lo spazio dei nomi che si vuole usare(ad esempio, Microsoft.AnalysisServices.Tabular.Server crea un'istanza di un oggetto Server usando lo spazio dei nomi tabulare).
Ridistribuire AMO e TOM con l'applicazione
La ridistribuzione di AMO e TOM viene sql_as_amo.msi pacchetto di installazione o NuGet pacchetti. Se si compila un programma di installazione per un'applicazione client che chiama AMO o TOM,sql_as_amo.msial file eseguibile.
Il pacchetto è autonomo e fornisce tutti gli assembly necessari per chiamare AMO e TOM nel codice. Altri pacchetti, ad esempio SQL_AS_OLEDB.msi o SQL_AS_ADOMD.msi, non sono necessari in modo specifico per gli scenari di programmazione TOM.