使用 Excel Services ,結合 Analysis Services 在 SharePoint 中發(fā)布報表

SSAS、Excel和MOSS的關系如下:
我這里在同一臺機器上安裝SQL Server 2005和MOSS 07,情況如下:
機器名:ESESTT
所在域:myhome.cheney
SQL Server 2005
實例名:MSSQLSERVER
登錄身份:myhome\administrator
在SSAS中部署Adventure Works數(shù)據(jù)庫作為樣本
MOSS 2007
在80端口建立一網站集,使用報告中心模板,用作發(fā)布Excel報表

Step 1
在Shared Services管理站點,加入受信文件位置。

將MOSS網站中要發(fā)布Excel報表的庫加入,以便Excel文件能訪問。
加入信任位置后先不要關閉這個地址,之后的步驟還要用到。
Step 2
為用戶授予OLAP數(shù)據(jù)源的訪問權限。

Step 3
新建一Excel文檔。在文檔中連接到OLAP服務器。

隨意選擇一個Adventure Works的視圖或者立方體。然后點完成。
這時會詢問是否建立透視表或者數(shù)據(jù)透視圖,選確定。
Step 4
點擊數(shù)據(jù)連接屬性,在“使用狀況”中可以設定Excel中數(shù)據(jù)刷新頻率,以及是否從OLAP數(shù)據(jù)庫中讀取數(shù)據(jù)顏色、格式等屬性。

再看“定義”
注意“連接文件”這項,是一個ODC文件,這個文件存儲著外部數(shù)據(jù)源連接的信息,是在之前建立OLAP數(shù)據(jù)庫連接時Excel自動建立的。
需要解釋一下,Excel獲取外部數(shù)據(jù)源連接信息的方式有兩種,一是通過外部數(shù)據(jù)連接文件,就是這里的ODC文件;二是嵌入數(shù)據(jù)連接信息,就是上圖中的連接字符串。當Excel無法從外部連接文件中獲取正確的外部數(shù)據(jù)連接時,會嘗試通過嵌入連接信息連接到外部數(shù)據(jù)源。
再回到Step 1中加入的信任文件位置頁面,點擊之前加入的庫地址以修改信任設置,注意在有一欄是關于外部數(shù)據(jù)設置。

在允許外部數(shù)據(jù)這里是設置可以使用何種連接方式,受信任的數(shù)據(jù)連接庫是指在庫中的外部ODC文件。這里選中“受信任的數(shù)據(jù)連接庫和嵌入連接”表明可以在Excel中使用外部ODC連接和嵌入連接。順便取消選中“啟用刷新警告”。修改后選確定。
Step 5
在Excel數(shù)據(jù)連接屬性中可看到ODC文件是保存在本地硬盤上的,如果將Excel文件發(fā)布到MOSS上,ODC文件也要發(fā)布到MOSS上才行。
跟發(fā)布Excel文件的庫需要受信任一樣,ODC所在的數(shù)據(jù)連接庫也要受信任。
在Shared Services管理中心,點“受信任數(shù)據(jù)連接庫”。

加入要發(fā)布ODC文件的庫地址。
Step 6
在連接屬性中點擊“驗證設置”,可看到Excel Services的驗證有三種。

下面分別介紹三種認證方式的配置方法
(a)無身份驗證:
在Excel連接屬性中選擇無身份驗證。
在Shared Services管理中心中編輯Excel Services設置。

為外部數(shù)據(jù)源設置一個默認的帳戶,當Excel中的沒有使用認證方式時,則嘗試使用此帳戶連接數(shù)據(jù)源。
(b)SSO
首先開啟SSO服務,并為SSO設置足夠權限的帳戶。

在MOSS的管理中心中選“管理單一登錄的設置”
在下一界面中選“管理服務器設置”, 設置管理帳戶和SSO數(shù)據(jù)庫。這里的帳戶必須是AD中的帳戶。
完成后回到前一界面,選“管理企業(yè)應用程序定義設置”,新建一項目。
設置SSO的名稱,帳戶類型等,我這里選的是組,選中Windows驗證。
完成后,回到前一界面,選“管理企業(yè)應用程序定義的帳戶信息”

輸入組帳戶,我這里用的是域用戶組。
點設置,輸入用以訪問外部數(shù)據(jù)源的帳戶。

完成后,在指定用戶組中的成員將可以使用同樣的權限訪問外部數(shù)據(jù)源。
(c)Windows認證
相比前兩種認證方式,Windows認證無疑是最佳方案。
首先要安裝Windows Server支持工具,可以從win server 03 sp1光盤中或微軟的網站上找到,詳見http://support.microsoft.com/kb/892777
然后配置Kerberos認證,下面的配置過程參照了微軟網站文檔,詳見:
http://support.microsoft.com/kb/917409
http://msdn2.microsoft.com/En-US/library/aa302392.aspx
完整的Kerberos認證方式如下圖:

1 默認情況下,SSP獲取方式是“Trusted subsystem”,如果之前沒有更改過可使用stsadm.exe更改,stsadm.exe用法如下:
像我這里使用命令行:stsadm -o set-ecssecurity -Ssp SharedServices -Accessmodel Delegation
SharedServices是我共享服務的名稱。
2 用于發(fā)布報表的web應用程序必須是Kerberos認證,如果最初建立應用程序時使用的是NTLM認證,可在MOSS管理中心修改。

3 在支持工具目錄中,執(zhí)行下面兩條語句:
setspn.exe -A MSOLAPSvc.3/esestt.myhome.cheney myhome\administrator
setspn.exe -A MSOLAPSvc.3/esestt myhome\administrator
這里的esestt是我的運行SSAS機器名稱,myhome.cheney是域名,myhome\administrator是SQL Server運行帳戶。

4 繼續(xù)執(zhí)行下面兩條命令:
setspn -A http/esestt.myhome.cheney myhome\administrator
setspn -A http/esestt myhome\administrator
這里的esestt是我的運行MOSS網站集機器名稱,因為我的SSAS和MOSS在同一機器上,所以名稱相同,myhome.cheney是域名,myhome\administrator發(fā)布報表網站集的應用程序池帳戶。
5 在AD用戶的管理窗口,為MOSS和SSAS帳戶啟用委托,我這里的帳戶都是Administrator,所以只為administrator啟用委托即可。

Step 7
完成上一步的認證設置后,回到Excel中的數(shù)據(jù)連接屬性。在驗證設置中,選擇一種之前設置的驗證方式。

然后將ODC文件導出到受信任的數(shù)據(jù)連接庫中。
在數(shù)據(jù)連接庫中,批準剛才在Excel中導出的ODC文件。

Step 8
在Excel中設計報表。

Step 9
設計好報表后,將Excel文檔發(fā)布到Excel Services

可以選擇發(fā)布哪些內容。
發(fā)布Excel報表后就可以使用Web形式察看報表了,但web形式的圖形跟在Excel中看到的還是有些差別的。
相關文章

網絡工程師必備的6款配置文件編輯神器:替代Notepad++!
本期文章介紹了六種網工必備工具,這些工具是網絡工程師日常工作中必不可少的,也是那些立志成為網絡工程師的人應該熟悉的2026-04-13
首個版本v1.111已上線! VS Code開啟周更狂飆模式
026年3月10日,微軟宣布將Visual Studio Code(VS Code)更新節(jié)奏從月更提速至周更,并發(fā)布首個周更版本v1.1112026-03-11
還在手動打開瀏覽器、點擊按鈕、檢查控制臺報錯?太累了!現(xiàn)在,最新的VS Code 1.110中AI可以直接調試瀏覽器2026-03-10
今天帶大家來共同學習VC++6.0無法正常運行怎么辦?下面就是詳細完整的操作步驟,快跟小編一起來學習一下2026-02-27
vscode調試c代碼始終找不到exe可執(zhí)行文件的詳細及解決辦法
在 VS Code 中調試 C++ 項目時,常見報錯:“無法啟動調試會話:找不到可執(zhí)行文件”,這個問題問題通常是由于環(huán)境配置不當、缺少編譯步驟、路徑設置錯誤、或是launch.json2026-02-27
vscode入門! 小白都能看懂的VS Code保姆級級使用教程
相對于其它前端工具來說,VSCode顯得更加的流暢,今天就將我的學習經歷和大家分享一下,希望可以幫助到有需要的人2026-02-27
2026年真正值得裝、用得上、不雞肋的 VSCode 插件,其實沒那么多——挑10個“神級”不難,但得是每天打開就用、關掉就難受的那種2026-02-10
VS Code 和 VSCodium怎么選? vscode 和 vscodium之間的區(qū)別
咱們今天就來聊聊 Visual Studio Code (VS Code) 和 VSCodium的相似與區(qū)別,詳細請看下文介紹2026-01-10
如何啟用.NET Framework3.5? 一鍵安裝net3.5解決軟件依賴問題
你是否曾在安裝某些軟件時遇到過“需要.NET Framework 3.5”的提示?實,只需要幾步簡單的操作,你就可以輕松解決這個問題2025-10-28
在軟件開發(fā)過程中,重構是一個非常重要的環(huán)節(jié),重構可以提高代碼的可讀性、可維護性和可擴展性,使代碼更加健壯和易于理解,本文將介紹如何使用 VSCode 進行 Java 代碼重構2025-09-20





