共用方式為


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

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

建立命令

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

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

執行命令

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

若要

使用這個方法

傳回結果做為資料流

ExecuteReader 會傳回 AdomdDataReader 物件

傳回 CellSet 物件

ExecuteCellSet

執行不會傳回資料列的命令

ExecuteNonQuery

傳回 XMLReader 物件,這個物件包含 XML for Analysis (XMLA) 相容格式的資料

ExecuteXmlReader

執行命令的範例

此範例使用 AdomdCommand 執行 XMLA 命令,這個命令將會處理在本機伺服器上的 Adventure 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=\"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();
        }