首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SSRS 入門(五):客戶端報表 (RDLC) 入門——免報表伺服器的輕量化方案

     編輯:關於SqlServer

當專案不想部署、維護獨立 SSRS 報表伺服器時,「客戶端報表」(RDLC, Report Definition Language Client-side) 是最佳替代方案。它直接在 ASP.NET WebForms / WinForms 中解析渲染,無需 Report Server 實例。

建立第一份 RDLC 報表

  1. 現有 ASP.NET 專案右鍵 → Add → New Item → 左邊選 Reporting → 右邊選 Report,命名 SalesReport.rdlc。
  2. 設計介面與 SSRS (RDL) 相似,但無預覽標籤,僅有「設計」與「程式碼」視圖。
  3. RDLC 設計介面

設定資料來源與 DataSet

RDLC 新增資料集的方式與 RDL 不同:

  1. Report Data 面板右鍵 → Add Dataset → 選 New Data Source → New Connection。
  2. 新增資料集對話框 資料連線設定
  3. 連線字串可指向 SQL Server、Oracle、OLE DB 等;若專案已有 web.config 連線字串,可直接引用。
  4. 撰寫 SQL 查詢或選擇預存程序,完成 DataSet 定義(如 SalesDataSet)。

在 ASPX 頁面嵌入 ReportViewer

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="100%" Height="600px"></rsweb:ReportViewer>

後端程式碼載入報表

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        ReportViewer1.ProcessingMode = ProcessingMode.Local;
        ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Reports/SalesReport.rdlc");
        // 若報表有參數,在此設定 ReportParameter 集合
        ReportViewer1.LocalReport.Refresh();
    }
}

RDLC vs RDL 快速比較

特性RDL (Server Report)RDLC (Client Report)
需報表伺服器是否
訂閱/排程內建需自行實作
資料處理伺服器端用戶端記憶體
大量資料效能佳受限於客戶端記憶體
部署複雜度高低 (隨應用程式部署)

適用場景:中小型報表、開發/測試環境、不想維護額外伺服器的專案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved