C#中使用ADOMD.NET查询多维数据集的实现方法
本文实例讲述了C#中使用ADOMD.NET查询多维数据集的实现方法,分享给大家供大家参考。具体实现方法分析如下:
ADOMD.NET是用于与MicrosoftSQLServerAnalysisServices进行通信的Microsoft.NETFramework数据访问接口。ADOMD.NET可使用XMLforAnalysis协议与分析数据源通信,方法为使用TCP/IP或HTTP连接传输和接收符合XMLforAnalysis规范的SOAP请求和响应。命令可通过多维表达式(MDX)、数据挖掘扩展插件(DMX)、AnalysisServices脚本语言(ASSL)或者甚至是有限SQL语法来发送,并且可能不返回结果。可以使用ADOMD.NET对象模型来查询和操作分析数据、关键绩效指标(KPI)和挖掘模型。使用ADOMD.NET时,还可通过检索与OLEDB兼容的架构行集或者使用ADOMD.NET对象模型来查看和使用元数据。
ADOMD.NET数据访问接口由Microsoft.AnalysisServices.AdomdClient命名空间表示
ADOMD.NET安装包点击此处下载:
实战,连接并查询多维数据集:
stringconnectionString="DataSource=localhost;Catalog=MDXStep-by-Step;ConnectTo=11.0;IntegratedSecurity=SSPI"; AdomdConnection_connection=newAdomdConnection(connectionString); if(_connection!=null) if(_connection.State==ConnectionState.Closed) _connection.Open(); AdomdCommandcommand=_connection.CreateCommand(); StringBuildersb=newStringBuilder(); sb.Append("WITH"); sb.Append(" MEMBER[Product].[Category].[AllProducts].[X]AS1+1"); sb.Append("SELECT{([Date].[Calendar].[CY2002]),([Date].[Calendar].[CY2003])}*{([Measures].[ResellerSalesAmount])}ONCOLUMNS,"); sb.Append("{([Product].[Category].[Accessories]),([Product].[Category].[Bikes]),([Product].[Category].[Clothing]),"); sb.Append("([Product].[Category].[Components]),([Product].[Category].[X])}ONROWS"); sb.Append(" FROM[Step-by-Step]"); command.CommandText=sb.ToString();
varxmlreader=command.ExecuteXmlReader(); CellSetcellSet=CellSet.LoadXml(xmlreader);
_connection.Close(); vardt=ToDataTable(cellSet); varv=dt.Rows.Count;