Udostępnij za pośrednictwem


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:

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

ExecuteCellSet

Uruchamianie poleceń, które nie zwracają wierszy

ExecuteNonQuery

Zwraca XMLReader obiektu zawierającego dane w XML for Analysis (XMLA), format zgodny z

ExecuteXmlReader

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