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.

Dipendenze AMO 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

  1. Passare a Librerie client.

  2. Selezionare e scaricare AMO usando Windows Installer o pacchetti NuGet.

Aggiungere riferimenti

  1. In Esplora soluzioni>Aggiungi esplorazione dei riferimenti>.

  2. Passare a C:\Programmi\Microsoft SQL Server\140\SDK\Assembly e selezionare:

    • Microsoft.AnalysisServices.Core
    • Microsoft.AnalysisServices.Tabular
    • Microsoft.AnalysisSerivces.Tabular.Json
  3. Fare clic su OK. In Esplora soluzioni verificare che gli assembly esistano nella cartella Riferimenti.

  4. 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.