文章目錄
Open Data Protocol (OData)是一種用於查詢和更新資料Web協議,或者說是一種從當前應用程式中解鎖並釋放資料的方式。現在我們企業的IT環境中,可能已經有很多OData提供者,如:IBM WebSphere, Microsoft SQL Azure, SQL Server Reporting Services;或者像線上服務Netflix或是DBpedia。 SharePoint 2010也是一個OData提供者。其中的Access Services也是提供 OData服務的方式之一。在下面的示範中,你會看到如何從一個發行的Access Web資料庫中提取資料,並在Microsoft Excel 2010的 PowerPivot中使用該資料。
發布羅斯文資料庫
首先,我們需要執行個體化一個羅斯文網路資料庫,並發布到SharePoint 2010。
訪問OData
Access Services 將資料存放區在SharePoint 2010的列表裡。因此,通過OData檢索Access Services資料表的過程實際上與查詢SharePoint列表的過程相同。這裡有兩篇博文介紹了OData在SharePoint中應用的更多細節,分別是這一篇和這一篇 。前面我也有一篇博文是介紹通過WCF使用列表OData服務的。對於我們的羅斯文應用程式,主要OData存取點是位於http://server/Northwind/_vti_bin/listdata.svc 。這個存取點描述了所有OData服務提供的表,假如我們要通過 OData擷取Employee僱員表,則使用http://server/Northwind/_vti_bin/listdata.svc/Employees即可 。更多的功OData能描述可參考OData的開發人員頁面 。
注意:對於後者,IE預設會使用內建的RSS閱讀器進行顯示。頁面會很奇怪。我們需要關閉IE的RSS閱讀功能,才能看到上面的XML內容。方法是點擊菜單“工具”->“Internet選項”。
在內容標籤下找到“源和網頁快訊”,點“設定”。
取消勾選“開啟源閱讀檢視”,然後重新啟動IE即可。
調用OData
其中一種調用OData服務的方式是通過Excel 2010中的PowerPivot (注意:PowerPivot是一個附加元件,需要單獨安裝。安裝包下載和安裝指南在給出的連結中,安裝步驟比較簡單)。若要從羅斯文資料庫匯入資料到PowerPivot,我們可以按照下列步驟:
1、 從功能區的PowerPivot標籤中,點擊“PowerPivot視窗”。
2、在開啟的PowerPivot for Excel視窗中,點擊功能區“擷取外部資料”一節中的“從資料摘要”。
3、在彈出的表匯入嚮導對話方塊中,輸入該OData存取點地址,在本例中為: http://server/Northwind/_vti_bin/listdata.svc
4、從“表匯入嚮導”中選擇所需的羅斯文資料庫表。本例中我們選擇“Inventory”,“Categories”和“Products”。
5、完成該嚮導以便從Access Services檢索資料。
羅斯文資料庫中的資料現在就匯入到PowerPivot中了,隨時可供我們在Excel中使用。
參考資料
Get to Access Services tables with OData