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:
İlk yöntem kullanır AdomdCommandveri kaynağında çalıştırılacak komutu alabilir, yapıcı ve bir AdomdConnectionNesne komutu çalıştırılacağı.
İkinci yöntem kullanır CreateCommandyöntemi AdomdConnectionnesnesini.
Ç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 |
|
Satırları döndürmez komut çalıştırma |
|
Dönün bir XMLReaderAnalysis (xmla) uyumlu biçimi için xml verileri içeren nesne |
Ö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();
}