共用方式為


針對分析資料來源執行命令

建立與分析資料源的連接之後,您可以使用 AdomdCommand ' 物件來執行命令,並從該資料來源傳回結果。 這些命令可以透過使用多維度運算式 (MDX)、資料採礦延伸模組 (DMX) 甚或是有限的 SQL 語法,來擷取資料。 此外,您可以使用 Analysis Services 指令碼語言 (ASSL) 命令修改基礎資料庫。

建立命令

在執行命令之前,您必須先建立它。 您可以使用以下兩種方法之一來建立命令:

您可以使用 CommandText 屬性來查詢和修改要執行的命令文字。 您建立的命令不必在執行之後傳回資料。

執行命令

建立 AdomdCommand 物件之後,您的命令可以使用數種 Execute 方法來執行各種動作。 下表列出其中一些動作。

收件者 使用這個方法
傳回結果做為資料流 ExecuteReaderAdomdDataReader傳回物件
CellSet傳回物件 ExecuteCellSet
執行不會傳回資料列的命令 ExecuteNonQuery
傳回 XMLReader 物件,其中包含 XML FOR ANALYSIS (XMLA) 相容格式的資料 ExecuteXmlReader

執行命令的範例

這個範例會使用 AdomdCommand 來執行 XMLA 命令,此命令將會在本機伺服器上處理「無伺服器」 Works DW cube,而不會傳回資料。

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