1. 程式人生 > >使用ADOMD.NET建立與Analysis Services的連線

使用ADOMD.NET建立與Analysis Services的連線

 Microsoft SQL Server ADOMD.NET支援在託管應用程式中的多維資料訪問。ADOMD.NET使用XMLA(XML for Analysis)協議與伺服器進行通訊。
使用ADOMD.NET訪問伺服器,必須滿足一下需求:
系統需求:
     CPU 
     Intel (Pentium 133 MHz or higher, Pentium PRO, Pentium II, or Pentium III) or    compatible processor
     記憶體
     最小64M記憶體,推薦128M記憶體
     硬碟空間:1M
作業系統:
   Microsoft Windows Server 2003
      -or-
   Microsoft Windows XP with Service Pack 1 (SP1) or later
      -or-
   Microsoft Windows 2000 Server with Service Pack 1 (SP1) or later
      -or-
   Microsoft Windows NT Server 4.0 with SP6 or later with Msxml3.dll in Replace Mode

軟體
    * Microsoft .NET Framework Class Library 1.0 SP2 or greater
    * MSXML 4.0 or greater (不要忽略此項)

   * AS2000 OLE DB provider required for Microsoft Analysis Services 2000
     data access
   * An XML for Analysis provider consistent with the XML for Analysis
     Specification version 1.1, such as the Microsoft XML for Analysis Provider

使用ADOMD.NET連線Analysis Services 2000:
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;    
  }
     
獲取層次,命名集,等方法雷同。

相關推薦

使用ADOMD.NET建立Analysis Services連線

 Microsoft SQL Server ADOMD.NET支援在託管應用程式中的多維資料訪問。ADOMD.NET使用XMLA(XML for Analysis)協議與伺服器進行通訊。使用ADOMD.NET訪問伺服器,必須滿足一下需求:系統需求:     CPU     

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

urn local 環境 .aspx pro lar 進行 ref 包含 C#操作Analysis Services,AMO是Analysis Services的管理類的完整集合,可在托管環境中,在Microsoft.AnalysisServices命名空間下以編程方式使用

建立伺服器的連線時出錯。在連線到SQL Server 2005時,在預設的設定不允許進行遠端連線,在建立伺服器的連線時出錯。

在建立與伺服器的連線時出錯。在連線到SQL Server 2005時,在預設的設定不允許進行遠端連線,在建立與伺服器的連線時出錯。在連線到SQL Server 2005時,在預設的設定下SQL Server 不允許進行遠端連接可能會導致此失敗。 1. 開啟sql2005遠端連線功能,開啟辦法如下

建立釋放TCP連線的過程

首先給出標準的書上的概念,摘自 謝希仁著《計算機網路第6版》: 三次握手的全過程: 四次揮手的全過程: 以下是經過總結、提取後在筆試題和麵試題的回答: 三次握手: 1.客戶端傳送SYN請求,進入SYN-SEND(同步傳送狀態) 2.服務端收到請求,

大資料各子專案的環境搭建之建立刪除軟連線(博主推薦)

   建立軟連線,好處可以處理多個版本的需要,方便環境變數的配置。相當於windows下的快捷方式!    博主,我這裡以jdk為例,對於大資料的其他子專案的搭建,一樣的操作。方便!這裡我不多贅述。   如何建立jdk1.7版本的軟連結? [[email protect

SQL Server 2005 在建立伺服器的連線時出錯,錯誤26

今天在用VISIO反向工程時,突然無法連結SQL Server資料庫了,錯誤程式碼如下 在建立與伺服器的連線時出錯。在連線到 SQL Server 2005 時,在預設的設定下 SQL Server 不允許進行遠端連線可能會導致此失敗。 (provider: SQL 網路介面

linux系統中如何建立刪除軟連線(方便快捷使用,大量節約時間)

建立軟連線可以給我們帶來很大的好處,舉個例子,咱們在訪問深度較為長的檔案或資料夾時,可以選擇直接使用軟連線,讓我們實現能快速到達檔案所在位置的效果 首先,咱們需要到達的目的地址是:/usr/local

VB.NET & DataGridView資料庫的連線

     新增刪除使用者,這就又要涉及到資料庫表中的資訊啊!在vb中,我們可以很輕鬆的呼叫sql語句與控制元件完美結合,在VB.NET中當然有著更人性化的方法:直接使用控制元件連線資料庫 具體步驟:

ASP.NET MVCSql Server建立連線

開啟Sql Server 2008,建立資料庫,建立如下表: 點選Visual Studio中"工具"選單下的"連線到資料庫",選擇"Microsoft SQL Server"作為資料來源。 點選"繼續"。 連線剛建立的資料庫,點選"確定"。

連線建立釋放

連線的建立分為兩端,一個是客戶端,一個是服務端。建立連線一般是有客戶端主動發起的,而關閉連線也是一般由客戶端發起,但是服務端也可以主動關閉長時間沒有通訊的連線以釋放伺服器的資源。詳細的資訊見部落格:圖解TCP連線建立與釋放 如果使用者手動管理連線並且在建立連線以後沒有主動釋放連線,會導

WebSocket安卓客戶端實現詳解(一)--連線建立重連

前言 這裡特別說明下因為WebSocket服務端是公司線上專案所以這裡url和具體協議我全部抹去了,但我會盡力給大家講明白並且demo我都是測試過,還望各位看官見諒 我們先粗獷的講下流程,掌握個大概的方向,然後在深入講解細節的實現.這裡先解答一個疑惑,為啥我們這要用WebSocket而不

Asp.Net MVC WebAPI的建立前臺Jquery ajax後臺HttpClient呼叫詳解 Asp.Net中對操作Sql Server 簡單處理的SqlDB類

1、什麼是WebApi,它有什麼用途?           Web API是一個比較寬泛的概念。這裡我們提到Web API特指ASP.NET MVC Web API。在新出的MVC中,增加了WebAPI,用於提供REST風格的WebService,新生成的W

TCP/IP學習筆記(10)--TCP連線建立終止

TCP連線的建立可以簡單的稱為三次握手,而連線的中止則可以叫做四次握手。   TCP是一個面向連線的協議,所以在連線雙方傳送資料之前,都需要首先建立一條連線。這和前面講到的協議完全不同。前面講的所有協議都只是傳送資料而已,大多數都不關心傳送的資料是不是送到,UDP尤其明顯,從

深入理解TCP/IP協議-TCP建立終止連線

轉載自  深入理解TCP/IP協議-TCP建立與終止連線   一、引言   TCP 是一個面向連線的協議。無論哪一方向另一方傳送資料之前,都必須先在雙方之間建立一條連線。連線建立與終止的狀態變化圖如下:   二、三次握手建立連線

TCP/IP協議--10 TCP 連線建立終止

TCP連線的建立可以簡單的稱為三次握手,而連線的中止則可以叫做四次握手。 TCP是一個面向連線的協議,所以在連線雙方傳送資料之前,都需要首先建立一條連線。這和前面講到的協議完全不同。前面講的所有協議都只是傳送資料而已,大多數都不關心傳送的資料是不是送到,UDP尤其明顯,從程式設計的角度來說,UD

PG fdw連線建立關閉

PG本地啟動psql, 並訪問外部表,然後退出 PG 與 remotePG的連線,隨著客戶端psql的退出而斷開。   PG本地啟動多個psql, 每個psql都訪問一次外部表 檢視remotePG 程序 [email protected]:~$

TCP/IP學習筆記(10)-tcp連線建立終止

TCP連線的建立可以簡單的稱為三次握手,而連線的中止則可以叫做四次握手。        TCP是一個面向連線的協議,所以在連線雙方傳送資料之前,都需要首先建立一條連線。這和前面講到的協議完全不同。前面講的所有協議都只是傳送資料而已,大多數都不關心

網路_TCP連線建立釋放

三報文握手 1.概述 TCP是面向連線的協議。TCP建立連線的過程叫做握手,握手需要在客戶和伺服器之間交換三個TCP報文段,即我們說的“三次握手”(嚴格講是一次握手過程中交換了三個報文)。 2.過程 一開始客戶端和伺服器端中的TCP程序都處於關閉狀態,假設客戶端主動開啟連線,伺服器端被動開啟連線;這時客戶端T

asp.net core建立web api 並且連線sqlite 使用程式碼直接建立資料庫 code first

環境visual studio 2017免費版,.net core 2.2 1.建立asp.net core web api 專案 .net core 選擇當前最新版本,專案選擇API型別,不進行身份驗證,點選確定。 此時一個web api專案就建立好了。 直接執行,先看

-【關於MySQL安裝後,如何建立navicat ubantu 相互連線】-

- - -【關於MySQL安裝後,如何建立與 ubantu 相互連線】- - - 由於網上關於MySQL的安裝教程賊多,所以我就不再浪費大家時間,僅僅把我所遇到的問題(網上找了很多,都沒有找到重點講解的)-----> MySQL與 ubantu 的連