Freigeben über


Installieren und Verteilen des tabellarischen Objektmodells sowie Verweisen darauf

Gilt für: SQL Server 2016 und höher Analysis Services Azure Analysis Services Fabric/Power BI Premium

In diesem Artikel wird beschrieben, wie Sie das tabellarische Objektmodell (Tabular Object Model, TOM) herunterladen, referenzieren und verteilen, eine C#-Bibliothek zum Erstellen und Verwalten von tabellarischen Modellen und Datenbanken in verwaltetem Code.

TOM ist eine Erweiterung der AMO-Clientbibliothek (Microsoft.AnalysisServices.dll). Um TOM verwenden zu können, müssen das Modell und die Datenbank den Kompatibilitätsgrad 1200 oder höher aufweisen.

AMO-TOM-Assemblys

AMO enthält neue Core-, Tabellarische und JSON-Assemblys. Sie enthält auch die ursprüngliche AMO-Assembly Microsoft.AnalysisServices.dll, die seit ihrer ersten Version Teil von Analysis Services ist. Ein neu strukturierter AMO-Wert entlädt allgemeine Klassen auf eine Assembly und stellt eine logische Aufteilung zwischen tabellarischen und mehrdimensionalen APIs durch zusätzliche Assemblys bereit.

In der folgenden Tabelle werden die einzelnen Assemblys beschrieben:

Assembly Funktionalität Wichtige Klassen
Core
Microsoft.AnalysisServices.Core.dll
Gemeinsam für tabellarische und mehrdimensionale Datenbanken.

Bietet Ausnahmebehandlung, generische Verbindungen zu einem Server instance und Datenbank sowie Zugriff auf allgemeine Eigenschaften und Methoden für Server- und Datenbankobjekte.
Core Server
Kerndatenbank
AmoException
TOM
Microsoft.AnalysisServices.Tabular.dll Version 13.0.1601.5 oder höher.
Erstellen und Verwalten von Tabellenmetadatenobjekten TOM-Server
TOM-Datenbank
Modell
Tabelle
Spalte
Beziehung
AMO
Microsoft.AnalysisServices.dll
Erstellen und Verwalten von mehrdimensionalen Metadatenobjekten, einschließlich tabellarischer Datenbanken 1050-1103. AMO Server
AMO-Datenbank
Cube
Dimension
Measuregruppe
Json
Microsoft.AnalysisServices.Tabular.Json.dll
Eine Hilfs-DLL, die die NewtonSoftJson.dll (JSON.NET) umschließt, um Updates zu steuern, wodurch das Risiko beseitigt wird, dass funktionale Änderungen an der JSON-Serialisierung in Serverworkloads eingeführt werden.

Diese DLL ist als Abhängigkeit in TOM vorhanden und nicht für die direkte Verwendung im Code vorgesehen.
Keine.

Grundlegendes zu Assemblyabhängigkeiten

Um für AMO zu programmieren, muss Ihre Lösung Verweise auf abhängige DLLs enthalten. Sowohl AMO als auch TOM sind von Core abhängig, da es Basisklassen bereitstellt.

AMO hängt von TOM ab, da einige Klassen in AMO-Referenzklassen von TOM stammen. Das AMO Database-Objekt verfügt beispielsweise über eine Eigenschaft Model vom Typ Model, die in der TOM-DLL implementiert ist.

AMO TOM-Abhängigkeiten

Sie können Microsoft.AnalysisServices.dll nicht ohne Microsoft.AnalysisServices.Tabular.dll verteilen, aber Sie können auf die jeweiligen Namespaces ohne den anderen verweisen.

Auswählen des Namespaces, der im Code verwendet werden soll

In der Objekthierarchie ist jedes Objekt unterhalb von Database entweder eine tabellenbasierte Metadatenkonstruktion über das Model-Objekt oder eine mehrdimensionale Metadatenkonstruktion über ein Cube-, Dimension- oder MeasureGroup-Objekt. Bei allgemeinen Vorgängen auf Server-, Datenbank-, Rollen- oder Ablaufverfolgungsebene hängt die Auswahl des Namespaces von den Workloads ab, die Ihr Code unterstützen muss.

  • Verwenden Sie Tabular.Server oder Tabellarische.Datenbank, wenn Ihre Lösung den Kompatibilitätsgrad 1200 oder höher aufweist und das Datenbankobjekt, mit dem Sie arbeiten, Zugriff auf Model, Table, Columns und andere Objekte bieten muss, die als Tabellenmetadatenkonstruktionen ausgedrückt werden.
  • Verwenden Sie AnalysisServices.Server oder AnalysisServices.Database, wenn nachgelagerter Code auf mehrdimensionale Objekte wie Cubes, DataSourceViews und Dimensions verweist.

Sie benötigen sowohl Namespaces für Tools als auch Anwendungen, die eine Mischung aus Datenbanken und Modelltypen unterstützen.

Das Verweisen auf den Core-Namespace im Code ist nicht erforderlich. Die Klassen in Core sind Basisklassen, die zum Bereitstellen allgemeiner Eigenschaften wie Name und Beschreibung für Hauptobjekte erstellt werden.

Herunterladen und Installieren von AMO

  1. Wechseln Sie zu Clientbibliotheken.

  2. Wählen Sie AMO mithilfe von Windows Installer- oder NuGet-Paketen aus, und laden Sie sie herunter.

Hinzufügen von Verweisen

  1. In Projektmappen-Explorer>Referenzsuche>hinzufügen.

  2. Wechseln Sie zu C:\Programme\Microsoft SQL Server\140\SDK\Assemblies, und wählen Sie Folgendes aus:

    • Microsoft.AnalysisServices.Core
    • Microsoft.AnalysisServices.Tabular
    • Microsoft.AnalysisSerivces.Tabular.Json
  3. Klicken Sie auf OK. Vergewissern Sie sich in Projektmappen-Explorer, dass die Assemblys im Ordner Verweise vorhanden sind.

  4. Fügen Sie auf Ihrer Codepage den Microsoft.AnalysisServces.Tabular-Namespace hinzu, wenn Datenbanken und Modelle den Kompatibilitätsgrad Tabular 1200 oder höher aufweisen.

    using Microsoft.AnalysisServices; 
    using Microsoft.AnalysisServices.Tabular;
    

    Wenn Sie Namespaces einschließen, deren Klassen für Server-, Datenbank-, Role- und Ablaufverfolgungsobjekte gemeinsam sind, vermeiden Sie mehrdeutige Verweise, indem Sie den gewünschten Namespace qualifizieren (z. B. instanziiert Microsoft.AnalysisServices.Tabular.Server ein Serverobjekt mithilfe des tabellarischen Namespaces).

Verteilen von AMO und TOM mit Ihrer Anwendung

Die Neuverteilung von AMO und TOM erfolgt über das sql_as_amo.msi Installationspaket oder NuGet-Pakete. Wenn Sie ein Setupprogramm für eine Clientanwendung erstellen, die AMO oder TOM aufruft, fügen Sie Ihrer ausführbaren Datei sql_as_amo.msi hinzu.

Das Paket ist eigenständig und stellt alle Assemblys bereit, die zum Aufrufen von AMO und TOM in Ihrem Code erforderlich sind. Andere Pakete, z. B. SQL_AS_OLEDB.msi oder SQL_AS_ADOMD.msi, sind nicht speziell für TOM-Programmierszenarien erforderlich.