使用ADOMD.NET获取Analysis Services元数据
安装了Adomd.net SDK后,该dll文件位于x::\Program Files\Microsoft.NET\Adomd.NET\80目录下(x为盘符)。
添加对dll文件的引用。
using Microsoft.AnalysisServices.AdomdClient;
1 建立连接:
与Ado.net类似,要使用ADOMD.NET连接Analysis Services服务器,必须建立一个AdomdConnection对象,以及一个connectionString连接字符串。然后调用 AdomdConnection类的Open或者Close方法打开或者关闭连接。
代码如下:
string connectionString = ""Data Source = JINGXIAO;Catalog=FoodMart 2000;ConnectTo=8.0;Integrated Security=SSPI";";
AdomdConnection conn = new AdomdConnection();
conn.Open();
conn.Close();
【注】如果没有安装MSXML4.0或者更高的版本,则运行上述代码的时候,会显示【无法与服务器建立连接的报错框】。
2 获取立方体的元数据
获取立方体(包括维度,度量,层次等)的元数据可以有两种方法:
第一种方法是通过查询SchemaDataSet表来获取;
第二种方法通过AdomdConnection对象来获取。
2.1 通过SchemaDataSet获取元数据(以获取立方体的元数据为例):
public string[] GetSchemaDataSet_Cubes(ref AdomdConnection connection,string connectionString)
{
string[] strCubes = null;
bool connected = true; //判断connection是否已与数据库连接
DataTable objTable = new DataTable();
if (IsConnected(ref connection) == false)
{
try
{
Connect(ref connection,connectionString);
connected = false;
}
catch(Exception err)
{
throw err;
}
}
string[] strRestriction = new string[]{null,null,null};
objTable = connection.GetSchemaDataSet(AdomdSchemaGuid.Cubes,strRestriction).Tables[0];
if(connected == false)
{
Disconnect(ref connection,false);
}
strCubes = new string[objTable.Rows.Count];
int rowcount = 0;
foreach(DataRow tempRow in objTable.Rows)
{
strCubes[rowcount] = tempRow["CUBE_NAME"].ToString();
rowcount++;
}
return strCubes;
}
2.2 通过AdomdConnection对象获取元数据:
public string[] GetCubes(ref AdomdConnection connection,string connectionString)
{
string[] strCubesName = null;
bool connected = true; //判断connection是否已与数据库连接
if (IsConnected(ref connection) == false)
{
try
{
Connect(ref connection,connection.ConnectionString);
connected = false;
}
catch(Exception err)
{
throw err;
}
}
int rowcount = connection.Cubes.Count;
strCubesName = new string[rowcount];
for(int i=0;i<rowcount;i++)
{
strCubesName[i] = connection.Cubes[i].Caption;
}
if(connected == false)
{
Disconnect(ref connection,false);
}
return strCubesName;
}
获取层次,命名集,等方法雷同。
我写了一个小程序,仿照Application Block写了一个AdomdHelper.cs的文件,对一些基本的获取元数据的方法做了一些封装(只完成了一小部分,以后还会不断增加)。
参考:http://www.cnblogs.com/yiriqing/articles/917032.html
使用ADOMD.NET获取Analysis Services元数据相关推荐
- XML for Analysis(XMLA)开发详解-(4)XMLA over TCP/IP访问Analysis Services 2005/2008 Olap的释疑
目录 1.综述(简要回顾一下Olap开发接口) 2.XMLA概念(基本来自联机手册,介绍一些概念,如果熟悉概念可以略过) 3.XMLA配置(针对各个版本的SSAS.IIS的配置说明) 4.XMLA o ...
- Analysis Services基础知识——深入SQL Server 2008
Analysis Services基础知识 --深入SQL Server 2008 这一节中,我们将介绍Analysis Services的体系结构,这个体系结构在SQLServer2005中建立,并 ...
- ssas 分区 设置_如何在Analysis Services多维中对SSAS多维数据集进行分区
ssas 分区 设置 Partitioning is the concept where you divide your data from one logical unit into separat ...
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(五)
假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功 ...
- 生成有关 SQL Server 2005 Analysis Services 多维数据集数据源的本地化报表
引言 本文节选了 Brian Larson 所著的 Microsoft SQL Server 2005 Reporting Services 一书.学习如何通过参数化 MDX 查询将 Analysis ...
- 使用SQL Server Analysis Services Tabular Model建立分析模型
微软在最新版本的SQL Server中加入了Tabular Model,目的在于降低数据分析的门槛,使各个业务部门的人员通过简单的IT培训,制作出符合自己需要的分析模型. 由于其降低了操作门槛,所以各 ...
- 未发现数据源名称_在Power BI中管理数据源Analysis Services
添加数据源 有关如何添加数据源的信息,请参阅添加数据源. 如果要连接到多维或表格服务器,请选择 Analysis Services 作为"数据源类型" . 填写数据源的信息(包括服 ...
- SQL Server 2005 Analysis Services实践(一)
一.在Analysis Services项目中定义数据源视图 1.根据模板创建Analysis Services项目 BIDS(Business Intelligence Development St ...
- ssas连接oracle性能,Analysis Services(SSAS) 性能优化
1.聚合选项中添加聚合,以空间换时间提升性能. 如下图: 性能提升百分比越高,聚合数越高,生成的Cube越大,这就是以空间换时间. 2.修改SSAS服务器上的线程池配置选项.提升并发数. 通过X:\P ...
最新文章
- 商户网站使用第三方支付的大致原理和实现
- sublime快捷键收藏
- 厉害了,关于String的10道经典面试题
- C语言库函数大全及应用实例六
- Python 3深度置信网络(DBN)在Tensorflow中的实现MNIST手写数字识别
- 信息学奥赛一本通 1134:合法C标识符 | OpenJudge NOI 1.7 06
- SDL 从内存流中加载图像并显示
- python 分布式存储_Amazon S3 分布式存储的 python 接口实现
- 使用colab训练faster-rcnn
- dns检测工具命令总结
- SAP 增强学习(4):四代增强 隐式增强(Enhancement-Point)
- Anroid通过设置“自启动管理”让应用被杀死也能收到推送消息
- 头条白板面试_我收到的最佳白板面试建议
- 新浪体育——篮球足球的直播和战报爬取
- Android文件读写操作(assets 文件、 raw文件、内部存储文件、外部存储文件)
- Spring事件发布机制
- EOS系列 - WASM智能合约 - 特性
- OpenGL - Deferred Rendering
- 介绍一款软件卸载工具IObit
- 专家:闽新增11家A级物流企业多受益“信息快车”
热门文章
- JS 判断URL中是否含有 http:// 如果没有则自动为URL加上
- error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
- Memcached 与 PHP 结合使用
- 9 个基于JavaScript 和 CSS 的 Web 图表框架
- BZOJ1576: [Usaco2009 Jan]安全路经Travel(树链剖分)
- 实验-网页动画(js版)
- (九)React面试真题演练
- git基于tag创建分支
- react hook问题讲解
- 三维重建面试0:*SLAM滤波方法的串联综述