Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nachdem Sie eine Verbindung mit einer analytischen Datenquelle hergestellt haben, können Sie ein AdomdCommand Objekt verwenden, um Befehle für diese Datenquelle auszuführen und Ergebnisse aus dieser Datenquelle zurückzugeben. Diese Befehle können Daten mithilfe von multidimensionalen Ausdrücken (MDX), Data Mining Extensions (DMX) oder sogar mit einer begrenzten Syntax von SQL abrufen. Darüber hinaus können Sie die zugrunde liegende Datenbank mithilfe von ASSL-Befehlen (Analysis Services Scripting Language) ändern.
Erstellen eines Befehls
Bevor Sie einen Befehl ausführen, müssen Sie ihn erstellen. Sie können einen Befehl mit einer von zwei Methoden erstellen:
Die erste Methode verwendet den AdomdCommand Konstruktor, der einen Befehl zum Ausführen an der Datenquelle und ein AdomdConnection Objekt zum Ausführen des Befehls verwenden kann.
Die zweite Methode verwendet die CreateCommand Methode des AdomdConnection Objekts.
Der Text des auszuführenden Befehls kann mithilfe der CommandText Eigenschaft abgefragt und geändert werden. Die von Ihnen erstellten Befehle müssen nach der Ausführung keine Daten zurückgeben.
Ausführen eines Befehls
Nachdem Sie ein AdomdCommand Objekt erstellt haben, gibt es mehrere Execute Methoden, mit denen Der Befehl verschiedene Aktionen ausführen kann. In der folgenden Tabelle sind einige dieser Aktionen aufgeführt.
| Bis | Methode |
|---|---|
| Zurückgeben von Ergebnissen als Datenstrom | um ein AdomdDataReader Objekt zurückzugeben |
| Zurückgeben eines CellSet Objekts | ExecuteCellSet |
| Ausführen von Befehlen, die keine Zeilen zurückgeben | ExecuteNonQuery |
| Zurückgeben eines XMLReader-Objekts , das die Daten in einem XML-für-Analyse-kompatiblen Format (XMLA) enthält | ExecuteXmlReader |
Beispiel für das Ausführen eines Befehls
In diesem Beispiel wird ein AdomdCommand XMLA-Befehl ausgeführt, der den Adventure Works DW-Cube auf dem lokalen Server verarbeitet, ohne Daten zurückzugeben.
void ExecuteXMLAProcessCommand()
{
//Open a connection to the local server
AdomdConnection conn = new AdomdConnection("Data Source=localhost");
conn.Open();
//Create a command, and assign it an XMLA command to process the cube.
AdomdCommand cmd = conn.CreateCommand();
cmd.CommandText = "<Process xmlns=\"http://schemas.microsoft.com/analysisservices/2003/engine\">\r\n" +
@"<Object>
<DatabaseID>Adventure Works DW Standard Edition</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>";
//Execute the command
int result = cmd.ExecuteNonQuery();
//Close the connection
conn.Close();
}