0  添加对Microsoft.AnalysisServices.AdomdClient.dll的引用;
     安装了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元数据相关推荐

  1. 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 ...

  2. Analysis Services基础知识——深入SQL Server 2008

    Analysis Services基础知识 --深入SQL Server 2008 这一节中,我们将介绍Analysis Services的体系结构,这个体系结构在SQLServer2005中建立,并 ...

  3. ssas 分区 设置_如何在Analysis Services多维中对SSAS多维数据集进行分区

    ssas 分区 设置 Partitioning is the concept where you divide your data from one logical unit into separat ...

  4. 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(五)

    假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功 ...

  5. 生成有关 SQL Server 2005 Analysis Services 多维数据集数据源的本地化报表

    引言 本文节选了 Brian Larson 所著的 Microsoft SQL Server 2005 Reporting Services 一书.学习如何通过参数化 MDX 查询将 Analysis ...

  6. 使用SQL Server Analysis Services Tabular Model建立分析模型

    微软在最新版本的SQL Server中加入了Tabular Model,目的在于降低数据分析的门槛,使各个业务部门的人员通过简单的IT培训,制作出符合自己需要的分析模型. 由于其降低了操作门槛,所以各 ...

  7. 未发现数据源名称_在Power BI中管理数据源Analysis Services

    添加数据源 有关如何添加数据源的信息,请参阅添加数据源. 如果要连接到多维或表格服务器,请选择 Analysis Services 作为"数据源类型" . 填写数据源的信息(包括服 ...

  8. SQL Server 2005 Analysis Services实践(一)

    一.在Analysis Services项目中定义数据源视图 1.根据模板创建Analysis Services项目 BIDS(Business Intelligence Development St ...

  9. ssas连接oracle性能,Analysis Services(SSAS) 性能优化

    1.聚合选项中添加聚合,以空间换时间提升性能. 如下图: 性能提升百分比越高,聚合数越高,生成的Cube越大,这就是以空间换时间. 2.修改SSAS服务器上的线程池配置选项.提升并发数. 通过X:\P ...

最新文章

  1. 商户网站使用第三方支付的大致原理和实现
  2. sublime快捷键收藏
  3. 厉害了,关于String的10道经典面试题
  4. C语言库函数大全及应用实例六
  5. Python 3深度置信网络(DBN)在Tensorflow中的实现MNIST手写数字识别
  6. 信息学奥赛一本通 1134:合法C标识符 | OpenJudge NOI 1.7 06
  7. SDL 从内存流中加载图像并显示
  8. python 分布式存储_Amazon S3 分布式存储的 python 接口实现
  9. 使用colab训练faster-rcnn
  10. dns检测工具命令总结
  11. SAP 增强学习(4):四代增强 隐式增强(Enhancement-Point)
  12. Anroid通过设置“自启动管理”让应用被杀死也能收到推送消息
  13. 头条白板面试_我收到的最佳白板面试建议
  14. 新浪体育——篮球足球的直播和战报爬取
  15. Android文件读写操作(assets 文件、 raw文件、内部存储文件、外部存储文件)
  16. Spring事件发布机制
  17. EOS系列 - WASM智能合约 - 特性
  18. OpenGL - Deferred Rendering
  19. 介绍一款软件卸载工具IObit
  20. 专家:闽新增11家A级物流企业多受益“信息快车”

热门文章

  1. JS 判断URL中是否含有 http:// 如果没有则自动为URL加上
  2. error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
  3. Memcached 与 PHP 结合使用
  4. 9 个基于JavaScript 和 CSS 的 Web 图表框架
  5. BZOJ1576: [Usaco2009 Jan]安全路经Travel(树链剖分)
  6. 实验-网页动画(js版)
  7. (九)React面试真题演练
  8. git基于tag创建分支
  9. react hook问题讲解
  10. 三维重建面试0:*SLAM滤波方法的串联综述