Condividi tramite


Utilizzo di set di righe dello schema in ADOMD.NET

Quando è necessario utilizzare un numero di metadati maggiore rispetto a quello disponibile nel modello di oggetti ADOMD.NET, è possibile utilizzare la funzionalità presente in ADOMD.NET per recuperare l'intervallo completo di set di righe dello schema XMLA (XML for Analysis), OLE DB, OLE DB per OLAP e OLE DB per il data mining:

  • Metadati di XML for Analysis
    I set di righe dello schema di XML for Analysis consentono di recuperare informazioni di basso livello relative al server. Le informazioni disponibili includono le origini dati disponibili nel server, le parole chiave riservate dal provider, i valori letterali supportati dal provider e altre informazioni. È possibile inoltre utilizzare un set di righe dello schema di XML for Analysis per individuare tutti i set di righe dello schema supportati dal provider.

    Per ulteriori informazioni, vedere Set di righe dello schema XML for Analysis

  • Metadati OLE DB
    I set di righe dello schema OLE DB costituisco un metodo standard di recupero delle informazioni da un'ampia gamma di provider.

    Per ulteriori informazioni, vedere Set di righe dello schema OLE DB

  • Metadati OLAP
    Le informazioni sullo schema fornite per un'origine dati analitica includono i database oppure i cataloghi disponibili dall'origine dati, i cubi e modelli di data mining in un database, i ruoli che esistono per i cubi nell'origine dati e altre informazioni.

    Per ulteriori informazioni, vedere Set di righe dello schema OLE DB per OLAP

  • Metadati di data mining
    Oltre ai metadati OLAP, i set di righe dello schema consentono di recuperare metadati di data mining. I set di righe disponibili espongono informazioni sui modelli di data mining presenti nel database, sugli algoritmi di data mining disponibili, sui parametri necessari per l'algoritmo, sulle strutture di data mining e altre informazioni.

    Per ulteriori informazioni, vedere Set di righe dello schema di data mining

Per ciascuno dei set di righe dello schema descritti, i metadati vengono recuperati dal set di righe passando un valore GUID oppure un nome XMLA con il metodo GetSchemaDataSet dell'oggetto AdomdConnection.

Recupero di metadati passando valori GUID

La classe AdomdSchemaGuid contiene un elenco di campi che rappresentano i set di righe dello schema supportati più comunemente dai provider e dalle origini dati analitiche. Per recuperare sia i metadati generali che quelli specifici del provider da un provider o da un'origine dati analitica, utilizzare i valori GUID contenuti nell'oggetto AdomdSchemaGuid con uno dei metodi seguenti:

Nota

Il provider di dati ADOMD.NET espone informazioni sullo schema tramite funzionalità rese disponibili dal provider e dall'origine dati analitica specifici dell'utente. Ogni provider e ogni origine dati possono fornire metadati diversi.

Recupero di metadati passando nomi XMLA

I metodi seguenti accettano come argomenti il nome di schema XMLA che identifica le informazioni sullo schema da restituire e una matrice di restrizioni relative alle colonne restituite:

Ciascuno di tali metodi restituisce un'istanza di un oggetto DataSet popolato con le informazioni sullo schema. L'oggetto DataSet appartiene allo spazio dei nomi System.Data della libreria di classi Microsoft .NET Framework.

Esempio

Nell'esempio seguente la funzione GetActions accetta in ingresso una connessione, il nome del cubo, una coordinata e un tipo di coordinata, recupera un oggetto Set di righe MDSCHEMA_ACTIONS e restituisce le azioni disponibili per la coordinata selezionata.

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