Freigeben über


Arbeiten mit Schemarowsets in ADOMD.NET

Wenn Sie mehr als die im ADOMD.NET-Objektmodell vorhandenen Metadaten benötigen, bietet ADOMD.NET die Möglichkeit, den vollständigen Bereich für XMLA-(XML for Analysis-), OLE DB-, OLE DB für OLAP- und OLE DB für Data Mining-Schemarowsets abzurufen:

  • XML for Analysis-Metadaten
    Die XML for Analysis-Schemarowsets stellen eine Methode zum Abrufen von Informationen über den Server auf niedriger Ebene bereit. Zu den verfügbaren Informationen gehören die auf dem Server vorhandenen Datenquellen, die durch den Anbieter reservierten Schlüsselwörter, die vom Anbieter unterstützten Literale und vieles mehr. Sie können ein XML for Analysis-Schemarowset verwenden, um alle Schemarowsets zu ermitteln, die vom Anbieter unterstützt werden.

    Weitere Informationen finden Sie unter XMLA-Schemarowsets.

  • OLE DB-Metadaten
    Die OLE DB-Schemarowsets stellen eine Methode nach Industriestandard für das Abrufen von Informationen von diversen Anbietern bereit.

    Weitere Informationen finden Sie unter OLE DB-Schemarowsets.

  • OLAP-Metadaten
    Zu den Schemainformationen, die für eine analytische Datenquelle bereitgestellt werden, gehören die über die analytische Datenquelle verfügbaren Datenbanken und Kataloge, Cubes und Miningmodelle in einer Datenbank, für Cubes in der Datenbank bestehende Rollen und vieles mehr.

    Weitere Informationen finden Sie unter OLE DB für OLAP-Schemarowsets

  • Data Mining-Metadaten
    Zusätzlich zu OLAP-Metadaten können Data Mining-Metadaten mittels Schemarowsets abgerufen werden. Die verfügbaren Rowsets machen Informationen über die verfügbaren Data Mining-Modelle in der Datenbank, die verfügbaren Mining-Algorithmen, die für den Algorithmus erforderlichen Parameter, Miningstrukturen und vieles mehr verfügbar.

    Weitere Informationen finden Sie unter Data Mining-Schemarowsets

Für jeden dieser verschiedenen Schemarowsets rufen Sie Metadaten vom Rowset durch die Übergabe eines GUID oder XMLA-Namens mit der GetSchemaDataSet-Methode des AdomdConnection-Objekts ab.

Abrufen von Metadaten durch Übergabe von GUIDS

Die AdomdSchemaGuid-Klasse enthält eine Liste von Feldern, die die Schemarowsets darstellen, die am häufigsten von Anbietern und analytischen Datenquellen unterstützt werden. Um sowohl allgemeine als auch anbieterspezifische Metadaten von einem Anbieter oder einer analytischen Datenquelle abzurufen, verwenden Sie die im AdomdSchemaGuid-Objekt enthaltenen GUIDs mit einer der folgenden Methoden:

HinweisHinweis

Der ADOMD.NET-Datenanbieter macht Schemainformationen über eine Funktionalität verfügbar, die Ihr spezifischer Anbieter und die analytische Datenquelle bereitstellen. Jeder Anbieter und jede Datenquelle stellen möglicherweise andere Metadaten bereit.

Abrufen von Metadaten durch Übergabe von XMLA-Namen

Die folgenden Methoden nutzen als Argumente den XMLA-Schemanamen, der identifiziert, welche Schemainformationen zurückzugeben sind, und einen Array von Einschränkungen in diesen zurückgegebenen Spalten:

Jede dieser Methoden gibt eine Instanz eines DataSet-Objekts zurück, die mit den Schemainformationen aufgefüllt wird. Das DataSet-Objekt stammt aus dem System.Data-Namespace der Microsoft .NET Framework-Klassenbibliothek.

Beispiel

Im folgenden Beispiel nimmt die Funktion GetActions eine Verbindung, den Cubenamen, eine Koordinate und einen Koordinatentyp, ruft einen MDSCHEMA_ACTIONS-Rowset ab und gibt die auf der ausgewählten Koordinate verfügbaren Aktionen zurück.

//The following function can be called with the following data:
//ae.GetActions(conn, "Adventure Works","[Geography].[City]",6 );

//This would return a DataSet containing the actions available for cells
//in the Adventure Works cube on [Geography].[City].
private System.Data.DataSet GetActions(AdomdConnection Connection, string Cube, string Coordinate, int CoordinateType)
{
    //Create a restriction collection to restrict the schema information to be returned.
    AdomdRestrictionCollection restrictions= new AdomdRestrictionCollection();
    restrictions.Add("CUBE_NAME", Cube);
    restrictions.Add("COORDINATE", Coordinate);
    restrictions.Add("COORDINATE_TYPE", CoordinateType); //6 = Cell coordinate

    //Open and return a schema rowset, given the correct restictions
    return Connection.GetSchemaDataSet("MDSCHEMA_ACTIONS", restrictions);
}

Siehe auch

Verweis

Abrufen von Metadaten aus einer analytischen Datenquelle