Installare, distribuire e fare riferimento al modello a oggetti tabulare
Si applica a: SQL Server 2016 e versioni successive di Analysis Services Azure Analysis Services Fabric/Power BI Premium
Questo articolo descrive come scaricare, fare riferimento e ridistribuire il modello a oggetti tabulari (TOM), 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 a 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 di Analysis Services dalla prima versione. Un AMO ristrutturato esegue l'offload di 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, le connessioni generice a un'istanza del server e un database e l'accesso a proprietà e metodi comuni per oggetti Server e Database. |
Core Server Core Database Amoexception |
TOM Microsoft.AnalysisServices.Tabular.dll versione 13.0.1601.5 o successiva. |
Creare e gestire oggetti metadati tabulari. | TOM Server TOM Database Modello Tabella Colonna Relazione |
AMO Microsoft.AnalysisServices.dll |
Creare e gestire oggetti 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, rimuovendo 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 programmare in AMO, la soluzione deve includere riferimenti alle DLL dipendenti. Sia AMO che TOM dipendono da Core perché fornisce classi di base.
AMO dipende da TOM perché alcune classi nelle classi di riferimento AMO di TOM. Ad esempio, l'oggetto AMO Database ha una proprietà Model di tipo Model, implementata nella dll TOM.
Non è possibile distribuire 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 sottostante 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 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.
- Utilizzare Tabular.Server o Tabular.Database se la soluzione è di livello di compatibilità 1200 o superiore e l'oggetto Database con cui si lavora deve fornire l'accesso a Model, Table, Columns e altri oggetti espressi come costruzioni di metadati tabulari.
- Utilizzare AnalysisServices.Server o AnalysisServices.Database se il codice downstream fa riferimento a oggetti multidimensionali, ad esempio Cubi, Origini dati, DataSourceViews e Dimensioni.
Sono necessari entrambi gli spazi dei nomi per gli strumenti e le applicazioni che supportano una combinazione di database e tipi di modello.
Il riferimento allo spazio dei nomi Core nel codice non è necessario; Le classi in Core sono classi di base create allo scopo di fornire proprietà comuni, ad esempio Name e Description, per gli oggetti principali.
Scaricare e installare AMO
Passare a Librerie client.
Selezionare e scaricare AMO usando Windows Installer o pacchetti NuGet.
Aggiungere riferimenti
In Esplora soluzioni>Aggiungi esplorazione dei riferimenti>.
Passare a C:\Programmi\Microsoft SQL Server\140\SDK\Assembly 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 sono tabulari 1200 o un livello di compatibilità superiore.
using Microsoft.AnalysisServices; using Microsoft.AnalysisServices.Tabular;
Quando si includono spazi dei nomi che hanno classi comuni per oggetti Server, Database, Role e Trace, evitare riferimenti ambigui qualificando lo spazio dei nomi che si desidera utilizzare, 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 avvierà tramite il pacchetto di installazione sql_as_amo.msi o i pacchetti NuGet. Se si sta creando un programma di installazione per un'applicazione client che chiama AMO o TOM, aggiungere sql_as_amo.msi al 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 specifici per gli scenari di programmazione TOM.