【技術文檔】使用ADOMD.NET建立與Analysis Services的連接
C#操作Analysis Services,AMO是Analysis Services的管理類的完整集合,可在托管環境中,在Microsoft.AnalysisServices命名空間下以編程方式使用。
這些類包含在 AnalysisServices.dll文件中,該文件通常位於SQL Server安裝目錄下的\100\SDK\Assemblies\文件夾中。使用AMO可以創建、修改和刪除對象,如多維數據集、維度、挖掘結構以及Analysis Services數據庫。
但需要註意的是:無法通過 AMO 來查詢數據,若要查詢數據,請使用ADOMD.NET,ADOMD.NET使用XMLA(XML for Analysis)協議與服務器進行通訊。
Adomd.net SDK下載地址
安裝了對應的MSI包之後,Microsoft.AnalysisServices.AdomdClient.dll文件通常位於x:\Program Files\Microsoft.NET\Adomd.NET\下。
- 添加對Microsoft.AnalysisServices.AdomdClient.dll的引用
using Microsoft.AnalysisServices.AdomdClient;
- 建立連接
string connectionString = "Data Source=JINGXIAO;Catalog=FoodMart2000;ConnectTo=8.0;Integrated Security=SSPI";
AdomdConnection conn = new AdomdConnection();
conn.Open();
conn.Close();
【註】如果沒有安裝MSXML4.0或者更高的版本,則運行上述代碼的時候,會顯示【無法與服務器建立連接的報錯框】。
官方的建立連接語句:
AdomdConnection advwrksConnection = new AdomdConnection("Data Source=localhost;Catalog=AdventureWorksAS");
再來一個網友寫的:
AdomdConnection conn = new AdomdConnection(@"Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=AdventureWorks Tabular Model SQL 2012;Data Source=.\MSBI");
conn.Open();
- 獲取數據
private DataTable tabularQueryExecute(string qry, ADOMD.AdomdConnection cnx)
{
ADOMD.AdomdDataAdapter currentDataAdapter = new ADOMD.AdomdDataAdapter(qry, cnx);
DataTable tabularResults = new DataTable();
currentDataAdapter.Fill(tabularResults);
return tabularResults;
}
【技術文檔】使用ADOMD.NET建立與Analysis Services的連接