轉換 RDL 和 RDLC 檔

如果您使用 ReportViewer 控制項和 Microsoft SQL Server 2005 Reporting Services,您可以重複使用這兩種報表技術所建立的報表。

  • SQL Server 2005 Reporting Services 所建立的報表 (儲存成 .rdl 檔案) 可以轉換成 ReportViewer 控制項所用的用戶端報表定義檔案 (.rdlc)。這稱為 RDL 至 RDLC 轉換。

  • 您針對 ReportViewer 控制項 (儲存成 .rdlc 檔) 所建立的報表可以轉換成 SQL Server Reporting Services 所用的報表定義檔案 (.rdl) 格式。這稱為 RDLC 至 RDL 轉換。

比較 RDL 和 RDLC

RDL 和 RDLC 檔的技術和專有名詞有重大差異,說明如下:

  • RDL 和 RDLC 由稱為報表定義語言的 XML 結構描述來定義。這兩個檔案格式的結構描述完全相同。SQL Server 2005 線上叢書有這個結構描述的說明。

  • 處理 .rdlc 檔的 ReportViewer 控制項會忽略 RDL 的 <Query> 元素。如果報表定義包含查詢,控制項不會處理它。

Note附註

用戶端報表定義檔案 (.rdlc) 只有在產生為 .rdl 檔案時,才會包含查詢。

  • 資料集和資料來源術語在 Visual Studio 2008 和 SQL Server 2005 中有不同的意義。在 Visual Studio 中,資料集是資料表的集合,而且邏輯上等於擷取資料的查詢或命令。在 SQL Server Reporting Services 中,資料集包括下列部份:

    • 資料來源資訊,其中包括資料來源類型和連接字串。資料來源類型指定部署在報表伺服器的資料處理延伸模組。

    • 指定如何取得資料來源連接認證的認證資訊。

    • 用來擷取資料的查詢或命令資訊。

設定成在 ReportViewer 控制項中執行的 .rdlc 檔,會在 [設計者] 檢視的底端,以視覺化的方式呈現資料集資料集物件、繫結來源物件和資料表物件。下圖說明這些物件如何出現在 Windows Form 中 (相同的資料繫結物件會以不同方式出現在網頁中):

專案工作空間中的資料物件

如果您選取 .rdlc 檔供 ReportViewer 控制項使用,資料物件不會出現在專案中,您很可能正在看著重新命名的 .rdl 檔案,它需要一些其他轉換步驟,才會成為能夠重充分運作的 .rdlc 檔。

資料集名稱可能會造成誤導;依預設,SQL Server Reporting Services 會將資料來源名稱用在所建立的第一個資料集上 (例如,資料集可能會稱為 "Northwind",即使它只擷取其中一份資料表的資料,也是如此)。

如何轉換報表定義

只有 SQL Server 2005 RDL 檔案可以轉換成 RDLC 檔。如果您有舊版的 RDL 檔案,您必須先將它們升級到 SQL Server 2005,再將它們移轉成 .rdlc 檔格式。若要升級報表定義,請在報表設計工具的 SQL Server 2005 版本中開啟它。

轉換檔案類型的報表定義需要您重新建立資料來源和查詢資訊。請務必選擇相同的資料來源結構描述,或結構與原始報表所用之結構描述相同的資料來源結構描述。如果結構描述不同,報表配置可能對您要使用的資料來源無效。如果您要使用不同的資料來源,從頭開始重建報表,會比轉換報表容易。

RDL 至 RDLC 轉換

當 .rdl 檔案轉換成 .rdlc 格式時,您必須利用應用程式所提供的資料建構來手動取代報表定義中的資料來源和查詢資訊。

  1. 重新命名 .rdl 檔案,使用 .rdlc 副檔名。

  2. 在 Visual Studio 2008 中,開啟將會包含報表的方案或專案。

  3. 在專案方案中,建立或新增定義您要用的資料之資料集。如需詳細資訊,請參閱建立報表的資料來源

  4. 在 [專案] 功能表中,按一下 [加入現有項目],再選取第一步驟所建立的 .rdlc 檔。

  5. 在專案中,開啟將包含這個報表的表單或網頁。

  6. 從 [工具箱] 的 [資料] 群組中,將 ReportViewer 控制項拖曳至表單或網頁中。

  7. 在 [ReportViewer 工作] 智慧標籤面板的 [選擇報表] 中,選取要搭配控制項來使用的 .rdlc 檔。

  8. 在 [ReportViewer 工作] 智慧標籤面板的 [選擇資料來源] 中,選取要用的資料集。資料集物件、繫結來源物件和資料表物件會出現在工作區底端。如需有關更新資料來源參考的詳細資訊,請參閱更新及重新繫結資料來源參考 (Visual Studio 報表設計工具)

  9. 儲存所有檔案,再建置或部署專案來確認報表包含您預期的資料。

RDLC 到 RDL 轉換

如果符合下列條件,便會自動將 .rdlc 檔案轉換成 .rdl 格式:

  • .rdlc 檔所用的資料來源使用整合式安全性。

  • 利用資料表來提供報表資料。如果 .rdlc 使用商務物件的資料,您就必須手動轉換 .rdlc。報表伺服器沒有處理報表中之商務物件的能力。

  • .rdlc 檔所用的資料來源對應於報表伺服器所安裝的資料處理延伸模組之一 (例如,如果資料來源是 SQL Server 資料庫,您可以使用報表伺服器預設安裝的 SQL Server 資料處理延伸模組。

  • 不需要修改查詢和資料來源連接資訊。

若要自動轉換 .rdlc,您可以將 .rdlc 檔重新命名成 .rdl,再將 .rdl 檔案發行或上載到報表伺服器中。您可以利用 SQL Server 2005 的 Business Intelligence Development Studio 來發行 .rdl 檔案。如需有關建立報表專案、發行報表和上載檔案的詳細資訊,請參閱《SQL Server 2005 線上叢書》。

若要將 .rdlc 手動轉換成 .rdl 檔案格式,請遵循下列步驟:

  1. 決定要搭配 .rdl 檔案使用的資料來源。您可以使用 SQL Server 關聯式資料庫、SQL Server Analysis Services 多維度資料庫、Oracle 資料庫,或任何其他支援的資料來源。結構描述必須與建立原始 .rdlc 報表配置時所用的結構描述相同。

  2. 重新命名 .rdlc 檔,使用 .rdl 副檔名。

  3. 在 SQL Server 2005 的 Business Intelligence Development Studio 中,建立或開啟將包含報表的報表伺服器專案。

  4. 在 [專案] 功能表中,按一下 [加入現有項目]。選取第一步驟所要建立的 .rdl 檔案,將它加入專案中。

  5. 在 [方案總管] 中,開啟剛加入專案的 .rdl 檔案。此時會開啟報表定義的設計模式。您應該會見到下列索引標籤:[資料]、[配置] 和 [預覽]。請按一下 [資料],以在 [資料] 檢視中開啟報表。

  6. 在 [資料] 檢視中,選取第一個資料集,再按一下 [編輯] 按鈕 (…),如下圖所示:

    編輯資料集的圖示

  7. 在 [資料集] 對話方塊中,依資料來源名稱來按一下 [編輯] 按鈕 (…)。

  8. 更新連接資訊。您應該取代連接字串,使報表連接您要使用的資料來源。您可能需要更新資料來源類型、伺服器、驗證選項和資料庫選項。

  9. 按一下 [執行] (!),確認資料來源會傳回您預期的資料。

  10. 重複先前的步驟來修改報表中所用的任何其他資料來源。

  11. 預覽報表,確認資料已依照預期合併到報表配置中。若要預覽報表,請按一下 [預覽] 標籤。

另請參閱

概念

部署報表和 ReportViewer 控制項
設定 ReportViewer 的本機處理

其他資源

範例和逐步解說