Wykonywanie poleceń przeciwko źródło danych analitycznych
Po ustanowieniu połączenia ze źródłem dane analityczne, można użyć AdomdCommand obiekt, aby uruchomić polecenia przeciwko i zwracają wyniki z tego źródło danych.Te polecenia można pobierać dane przy użyciu wyrażeń wielowymiarowych (MDX), dane górnictwa rozszerzenia (DMX) lub nawet ograniczone składnię SQL.Ponadto można używać Analysis Services poleceń skryptów języka (ASSL) do modyfikowania bazy danych.
Tworzenie polecenia
Przed uruchomieniem polecenia, należy go utworzyć.Można utworzyć polecenie przy użyciu jednej z dwóch metod:
W pierwszej metodzie AdomdCommand konstruktora, który można wykonać polecenia uruchamiane na dane źródłoi AdomdConnection obiektu, na którym należy wykonać polecenie.
W drugiej metodzie CreateCommand metoda AdomdConnection obiektu.
Tekst polecenia do uruchomienia można wyszukiwać i modyfikować za pomocą CommandText właściwość.Polecenia, które można utworzyć nie trzeba zwracać dane po ich uruchomieniu.
Uruchomienie polecenia
Po utworzeniu AdomdCommand obiekt, dostępnych jest kilka Execute metody, które polecenia można używać do wykonywania różnych czynności.Następujące tabela przedstawiono niektóre z tych działań.
Aby |
Metoda ta |
---|---|
Zwracają wyniki w postaci strumienia danych |
ExecuteReaderAby przywrócić AdomdDataReader obiektu |
Zwraca CellSet obiektu |
|
Uruchamianie poleceń, które nie zwracają wierszy |
|
Zwraca XMLReader obiektu zawierającego dane w XML for Analysis (XMLA), format zgodny z |
Przykład polecenia
W tym przykładzie użyto AdomdCommand do polecenia XMLA, który będzie przetwarzał Adventure Works DW moduł na lokalnym serwerze, bez zwracania danych.
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=\"https://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();
}