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.
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
Wechseln Sie zu Clientbibliotheken.
Wählen Sie AMO mithilfe von Windows Installer- oder NuGet-Paketen aus, und laden Sie sie herunter.
Hinzufügen von Verweisen
In Projektmappen-Explorer>Referenzsuche>hinzufügen.
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
Klicken Sie auf OK. Vergewissern Sie sich in Projektmappen-Explorer, dass die Assemblys im Ordner Verweise vorhanden sind.
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.