若要將報表和相關項目發佈至 SharePoint 文檔庫,您可以使用 Reporting Services 撰寫工具發佈內容,例如報表設計師,或使用 SharePoint 網站動作上傳內容。
SharePoint 網站使用與原生模式的 Reporting Services 報表伺服器不同的網址。 SharePoint 網站 Web 階層包含 SharePoint Web 應用程式、頂層網站、選擇性子網站和連結庫。 您必須知道如何建立 URL 位址,以指定 SharePoint 伺服器,以及您要發布報表或相關專案的 SharePoint 網站階層中的位置。
與報表相關的專案包括共享數據源、子報表、鑽研報表,以及 Web 型圖像檔等資源。 已發行至 SharePoint 文件庫的報表,必須依其在 SharePoint 文檔庫中的位置指定這些相關專案。
使用本主題中的範例,協助建立報表解決方案中報表和相關專案的URL。
站台階層
當您將報表伺服器設定為在 SharePoint 整合模式中執行時,SharePoint Web 階層會用來處理和管理報表伺服器上的專案。
Web 階層的下列元素可用來存取和保護報表伺服器內容。 其他物件如清單和頁面不會用來存取報表伺服器內容,因此在下表中不予描述。
| 物體 | 說明 |
|---|---|
| SharePoint Web 應用程式 | SharePoint Web 應用程式可以安裝為獨立伺服器,或安裝在包含虛擬伺服器集合的伺服器陣列之下。 Web 應用程式具有 URL(例如 HTTP:servername),而且可以包含多個網站。 |
| 網站 | 網站是 Web 應用程式的父網站或子網站。 |
| SharePoint 文件庫 | 文件庫包含檔或資料夾。 文件庫中的資料庫或資料夾是唯一能儲存報表、報表模型、共用資料來源及外部影像的網站物件。 |
| 項目 | 您可以在 URL 中參考的報表伺服器專案包括報表或子報表、報表模型、共用數據源或外部影像的報表定義。 |
URL 語法和規則
資料庫中的每個報表伺服器項目都是由完整的 URL 來識別,其中包含通訊協定前綴、伺服器名稱、網站、資料庫、檔名和檔案類型的擴展名。
SharePoint Server 的 URL
當您將報表伺服器或報表模型專案從 SQL Server Data Tools (SSDT) 部署至報表伺服器時,您必須使用 SharePoint 伺服器的 URL。
若要尋找要使用的伺服器名稱,請開啟瀏覽器,並找出您要發行報表的 SharePoint 文件庫。 伺服器名稱會緊接在通訊協定前置詞後面,例如 HTTP:servername。
不支援使用 Reporting Services URL Proxy 端點。 Proxy 端點包含埠號碼,例如 HTTP:servername:8080/reportserver。
SharePoint Server 網站或子網站的 URL
當您部署報表或報表數據源時,如果有的話,您必須使用 SharePoint 網站和子網站的 URL。 在 URL 中,網站名稱會緊接在伺服器名稱後面。例如,http:// servername/site 或 http:// servername/site/subsite。
在Microsoft Office SharePoint Server 2007 或 SharePoint Server 2010 Web 應用程式上,網站和子網站經常對應至主要網站上的索引卷標。 若要尋找網站名稱或子網站名稱,請按兩下 [ 首頁],然後按下 [ 所有網站內容]。 捲動至底部並尋找 [網站和工作區]。 網站清單會出現在本節中。
SharePoint 文檔庫的 URL
當您將報表或相關專案部署到 SharePoint 文件庫時,必須使用 SharePoint 文件庫的 URL。 連結庫使用的 URL 會根據您使用的 SharePoint 版本而有所不同。
Microsoft Windows SharePoint Services 3.0 或 SharePoint Foundation 2010 上,連結庫會出現在伺服器名稱後面,例如 HTTP://*servername/*Shared Documents。
在 Office SharePoint Server 2007 或 SharePoint Server 2010 上,文檔庫會出現在網站和子網站之後。 例如,HTTP://*servername/site/*Documents。
若要尋找新 SharePoint 文件庫或不熟悉網站的路徑資訊,請開啟瀏覽器,並找出您要發佈報表的 SharePoint 文件庫。 如果連結庫是空的,請上傳任何檔案。 以滑鼠右鍵按下檔案,然後選取 [ 屬性 ] 以開啟 [ 屬性 ] 視窗。 檔案的位址包含發佈作業所需的 URL 值。
SharePoint 網站上項目的完整 URL
儲存在 SharePoint 文件庫中的專案一律會透過以 Web 應用程式 (http:// server) 作為根節點的完整 URL 來尋址,並以您參考的檔名結尾。
URL 中的檔名必須包含副檔名。
您無法針對發行至 SharePoint 網站的報表中的相依專案使用相對 URL。 例如,您無法使用相對 URL 來參考共用數據源、報表模型或子報表。 您必須一律為每個專案指定 SharePoint 文件庫的完整 URL。 無法預測相依檔案的位置,因為您可用來剖析 URL 格式的網站沒有預先定義的階層。
當您發行或上傳包含相依項目的報表時,您必須在發行報表之後設定相依項目的參考。 在報表設計師預覽模式中正常運作的引用,不保證在發行報表之後仍能運作。 如需詳細資訊,請參閱本主題中的 從撰寫工具發佈至 SharePoint 文檔庫 。
外部影像的 URL
報表定義可以包含儲存為外部檔案的映像檔。 您可以在報表定義中參考該檔案,方法是將完整 URL 設定為圖像檔。 它可以儲存在 SharePoint 網站或遠端電腦上。
這很重要
如果外部 URL 是 SharePoint 網站上的影像,當您在報表產生器中預覽報表時,就會顯示中斷的影像圖示。 當您將報表上傳至 SharePoint 網站,並以連線模式轉譯報表時,如果您只有 View Items 許可權,就會顯示中斷的影像圖示。
不論報表伺服器模式為何,報表中外部圖像文件的參考都必須是完整的網址 (URL)。 此外,參考外部圖像檔通常需要您設定非監督報表處理帳戶。
指定子報表和穿透報表
子報表必須位於與主報表相同的資料夾中。 您無法指定相對資料夾。
若要指定鑽研報告,請在表達式中包含 URL。 例如,要將名為 SalesDetails 的報表指定為鑽取報表,請在文字框或佔位文字的「動作」中,將 ReportName 設定為下列表達式:
="http://site/subsite/documentlibrary/SalesDetails.rdl"
SharePoint 網站上的保留名稱
如果您要建立或建構位於 SharePoint 網站上的專案 URL,請知道 [個人 ] 和 [網站 ] 這兩個字都是默認網站底下的保留名稱。
URL 範例
將專案發佈至 SharePoint 文件庫時,您必須指定目標文檔庫的完整 URL。 完整的 SharePoint URL 包含 SharePoint Web 應用程式、網站、文檔庫、資料夾(選擇性)、檔案和擴展名。 下列範例提供您應該使用的語法數個圖例。
| 標的 | 範例 URL |
|---|---|
| SharePoint 伺服器。 | http://TestServer |
| SharePoint 伺服器網站或子網站。 | http://TestServer/toplevelsite/subsite |
| Windows SharePoint Services 或 SharePoint Foundation 2010 部署上共用 檔中 的公司銷售範例報表。 | http://TestServer/TestSite/Shared%20Documents/Company%20Sales.rdl |
| Office SharePoint Server 或 SharePoint Server 2010 實例上 Documents/Doc 資料夾中的公司銷售範例報表。 | http://TestServer/TestSite/Documents/Doc/Company%20Sales.rdl |
| 在 Office SharePoint Server 或 SharePoint Server 2010 實例中的 報表中心 內的公司銷售範例報表。 | http://TestServer/TestSite/Reports/Doc/Company%20Sales.rdl |
從撰寫工具發佈至 SharePoint 文件庫
當您使用報表撰寫工具將報表和相關檔案發佈至文檔庫時,檔案會在新增之前進行驗證。 如果您使用 SharePoint 文件庫上的 [ 上傳 ] 動作來上傳報表和相關檔案,則不會進行驗證檢查。 在管理、編輯或執行報表之前,您將不知道檔案是否有效。
備註
若要從 SQL Server Data Tools (SSDT) 將報表發佈至 SharePoint 網站,您可能需要將 SharePoint 網站新增至 Internet Explorer 瀏覽器中信任的位置清單。
共用數據源
當您從報表撰寫工具發佈共享資料來源時,您可以設定項目屬性 TargetDataSourceFolder。 目標數據源資料夾必須是 SharePoint 文件庫的 URL。 不同於 Reporting Services 原生模式,您無法指定相對資料夾;相對路徑無效。 如果文件庫路徑中的資料夾不存在,則會建立一個資料夾。
當您將共享數據源 (.rds) 檔案發佈至 SharePoint 網站時,這會將數據源檔案變更為 .rsds 擴展名。 .rsds 檔案無法從 SharePoint 網站本機儲存,並匯入至現有的 Reporting Services 專案。 擴展名為 .rds 和 .rsds 的共享數據源無法交換。
來自報表設計師的共享數據源
如果您要從報表設計師專案發佈共享數據源,您可以使用指定目標連結庫的 URL,或將屬性保留空白。 不同於 Reporting Services 原生模式,您無法指定相對資料夾;相對路徑無效。 如果文件庫路徑中的資料夾不存在,則會建立一個資料夾。 如果您將目標數據源資料夾保留空白,資料源將會發佈在目標報表資料夾中。
檔名
報告項目的 URL 檔案名稱必須包含副檔名。 擴展名會決定檔類型。 當您從報表設計工具發佈報表項目時,會自動包含副檔名。 如果您將報表項目上傳至 SharePoint 文件庫,則必須包含擴展名。
如果您未為上傳至 SharePoint 網站的專案指定擴展名, rsInvalidDataSourceReference 就會發生錯誤。 檔名不能包含 SharePoint 應用程式無法辨識為有效檔名字符的字元。 請勿包含下列字元:# % & * : <> ? / { | }.
上傳和發佈之間的差異
當您使用報表設計師或報表產生器將報表和相關檔案發佈至連結庫時,檔案會在新增之前進行驗證。 如果您使用 SharePoint 文件庫上的 [ 上傳 ] 動作來上傳報表和相關檔案,則不會進行驗證檢查。 在管理、編輯或執行報表之前,您將不知道檔案是否有效。
更新已發佈的專案
發佈或上傳專案至 SharePoint 文件庫之後,您應該先將專案簽出文檔庫,再進行更新。 雖然報表已簽出給您,但您是唯一有權變更報表的使用者。 當您完成時,請將其交回。
如果您上傳或發佈報表而不先簽出檔(例如,上傳與現有專案同名的專案),報表伺服器會為您取出報表,將更新的報表新增為現有專案的新版本,然後重新簽入檔。
外部影像作為資源
以原生模式執行的報表伺服器支援資源的概念,該概念定義為儲存並保護報表伺服器上的任何檔案,但報表伺服器不會處理。 在原生模式中,它可以是任何類型的檔案。
當報表伺服器以 SharePoint 整合模式執行時,資源的概念具有較窄的定義。 報表伺服器會保留資源的概念,以便儲存參考外部影像的報表。 如果報表是快照集或保留供內部使用的複本,則適用此情況。