1. 程式人生 > >【技術文檔】使用ADOMD.NET建立與Analysis Services的連接

【技術文檔】使用ADOMD.NET建立與Analysis Services的連接

urn local 環境 .aspx pro lar 進行 ref 包含

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的連接