Report Services RDL報告伺服器的一些經驗
經驗1
剛裝好的Report Services 管理地址有兩個, 一個是剛裝好的Report Services 管理地址有兩個, 一個是
Web服務URL http://192.168.12.111:8099/ReportServer ///我配置的埠是8099,你的可能不一樣
報表管理器URL http://192.168.12.111:8099/Reports //我配置的埠是8099,你的可能不一樣
訪問管理介面需要 使用者名稱密碼.
看網上的教程多數是要新建使用者什麼的, 於是跟著一番折騰,
新建了一個使用者 ReportUserA, 登入成功了.但卻總是冒出來許可權問題.提示 “ReportUserA” 授予的許可權不足,無法執行此操作" 至於如何徹底解決這個許可權問題,
主要是在資料夾設定中要放入這個使用者的許可權即可.
新建使用者許可權的步驟如下圖
先建一個使用者.
訪問 http://192.168.12.111:8099/Reports
剩下的應該都會了, 不貼圖了
經驗2 C# 載入遠端SSRS的資料, 程式碼如下
ShowReport form = new ShowReport();
form.reportViewer.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote;
form.reportViewer.ServerReport.ReportPath = "/Report Parts/Report1" ;//上傳後才有
form.reportViewer.ServerReport.ReportServerUrl = "http://192.168.12.111:8099/ReportServer";
form.reportViewer.ServerReport.ReportServerCredentials.NetworkCredentials = new NetworkCredential("ReportUserA", "密碼123456");
form.reportViewer.ServerReport. SetParameters(plist.ToArray());//報表需要用到的一些引數. 根據具體的rdl檔案而不同.
form.Show();
form.Activate();
經驗3 在rdl 設計的時候可以給sql語句傳遞引數. 提高查詢效率
如下圖 我這裡使用了簽入的資料集, 這個地方的變數可以通過程式設計
form.reportViewer.ServerReport.SetParameters(new ReportParameter[]{
new ReportParameter("ybid", "900646578912")
});// 傳遞數值.
經驗4 Report Builder3 如果要使用共享的資料來源需要如下幾步操作.
http://192.168.12.111:8099/ReportServer 這個地址是 安裝完 Report Services以後自動建立的. 如果不安裝Report Services 那麼就無法使用共享資料來源, 當然如果深入的研究一下, 中間請求的資訊, 估計也能自己實現一個.
如果連上報表伺服器以後還是無法顯示共享資料來源, 需要在
http://192.168.12.111:8099/Reports/ 進入主資料夾 -> 工具條 [新建資料來源] 新建好以後, 就可以在Report Builder3 中看到共享的資料來源了.
經驗5 vs2015 無法建立 “商業智慧”或“報表伺服器專案”
需要安裝 SQL Server Data Tools (SSDT)
https://go.microsoft.com/fwlink/?linkid=863440