Hämtar metadata – Arbeta med schemarader

När du behöver fler metadata än vad som är tillgängligt i ADOMD.NET objektmodellen ger ADOMD.NET möjlighet att hämta hela xml-intervallet för analys (XMLA), OLE DB, OLE DB för OLAP och OLE DB för datautvinningsschemarader:

XML för analysmetadata
XML för analysschemaraduppsättningar tillhandahåller en metod för att hämta information på låg nivå om servern. Tillgänglig information omfattar de datakällor som är tillgängliga på servern, de nyckelord som reserverats av providern, de literaler som stöds av providern med mera. Du kan till och med använda en XML för analysis-schemaraduppsättning för att identifiera alla schemarader som stöds av providern.

OLE DB-metadata
OLE DB-schemaraduppsättningarna tillhandahåller en branschstandardmetod för att hämta information från en mängd olika leverantörer.

OLAP-metadata
Schemainformation som tillhandahålls för en analytisk datakälla innehåller databaser eller kataloger som är tillgängliga från analysdatakällan, kuber och gruvmodeller i en databas, roller som finns för kuber i datakällan med mera.

Metadata för datautvinning
Förutom OLAP-metadata kan datautvinningsmetadata hämtas med hjälp av schemaraduppsättningar. Tillgängliga raduppsättningar visar information om tillgängliga datautvinningsmodeller i databasen, tillgängliga gruvalgoritmer, parametrarna som algoritmen kräver, gruvstrukturer med mera.

För var och en av dessa olika schemaraduppsättningar hämtar du metadata från raduppsättningen genom att skicka antingen ett GUID- eller XMLA-namn med GetSchemaDataSet -metoden för AdomdConnection objektet.

Hämtar metadata genom att skicka GUIDS

Klassen AdomdSchemaGuid innehåller en lista över fält som representerar de schemarader som oftast stöds av leverantörer och analytiska datakällor. Om du vill hämta både allmänna och providerspecifika metadata från en provider eller analysdatakälla använder du GUID:erna i AdomdSchemaGuid objektet med någon av följande metoder:

Anmärkning

Den ADOMD.NET dataleverantör exponerar schemainformation genom funktioner som görs tillgängliga av din specifika leverantör och analysdatakälla. Varje provider och datakälla kan tillhandahålla olika metadata.

Hämtar metadata genom att skicka XMLA-namn

Följande metoder tar som argument XMLA-schemanamnet som identifierar vilken schemainformation som ska returneras och en matris med begränsningar för de returnerade kolumnerna:

Var och en av dessa metoder returnerar en instans av ett DataSet-objekt som fylls i med schemainformationen. DataSet-objektet kommer från System.Data-namnområdet för Microsoft .NET Framework-klassbiblioteket.

Example

I följande exempel tar funktionen GetActions en anslutning, kubnamnet, en koordinat och en koordinattyp, hämtar en MDSCHEMA_ACTIONS Rowset och returnerar de åtgärder som är tillgängliga på den valda koordinaten.

//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);
}