Aracılığıyla paylaş


Analitik veri kaynağı karşı Komutlar Yürütülüyor

Analitik veri kaynağı bağlantısı kurulduktan sonra sen-ebilmek kullanma bir AdomdCommandkomutları çalıştırın ve sonuçları bu veri kaynağından dönmek için nesnenin. Bu komutlar, çok boyutlu ifadeleri (mdx), veri incelemesi Extensions (dmx) veya sql bile sınırlı bir sözdizimi kullanarak veri alabilirsiniz. Ayrıca, temel veritabanını değiştirmek için Analysis Services Scripting Language (assl) komutlarını kullanabilirsiniz.

Bir komut oluşturma

Bir komutu çalıştırmadan önce oluşturmanız gerekir. Aşağıdaki iki yöntemden birini kullanarak bir komut oluşturabilirsiniz:

Çalıştırılacak komut metni sorgulanabilir ve kullanılarak değiştirilmiş CommandTextözellik. Onlar çalıştırdıktan sonra veri döndürmek oluşturduğunuz komutları yoktur.

Komut çalıştırma

Oluşturduktan sonra bir AdomdCommandnesne, orada birkaç Executekomutu çeşitli eylemleri gerçekleştirmek için kullanabileceğiniz yöntemler. Aşağıdaki tabloda bu eylemlerden bazıları listelenmiştir.

Amacı

Bu yöntemi kullanın

Sonuç veri akışı

ExecuteReadergeri dönmek için bir AdomdDataReadernesne

Dönün bir CellSetnesne

ExecuteCellSet

Satırları döndürmez komut çalıştırma

ExecuteNonQuery

Dönün bir XMLReaderAnalysis (xmla) uyumlu biçimi için xml verileri içeren nesne

ExecuteXmlReader

Örnek bir komut çalıştırma

Bu örnek AdomdCommandişleyecek bir xmla komutu çalıştırmak için Adventure Works DWküp veri döndürme olmadan Yerel sunucudaki.

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