我正在研究ssrs 2008 r2並從中,我正在使用關係數據庫構建一個報告模型作爲源。 我有很多數據庫,他們都有相同的結構(相同的表和相同的表字段)。從第一次查看報表模型開始,所有實體都是從數據源視圖生成的。因此,它不允許將一個報告模型用於多個數據庫。 反正有多個數據庫使用相同的報表模型嗎? Ps:我的報告模型有很多實體,每個實體都必須進行編輯。因此,您可以看到我需要的是自動化該過程。報告模型數據
報告模型數據
回答
我很想看到這個問題的答案,因爲我對繼承的產品有相同的要求。但是既然你還沒有任何其他答案,或許這將有助於描述我們的設置。
初始部署
本地來講,我們一個的Visual Studio 2008(BIDS)報表模型項目包含一個數據源,以及一些數據源視圖和報表模型。每次新數據庫聯機時,我們都會更改數據源的連接字符串,並更新項目的部署配置,以便以/Models/<databaseName>
的格式定位到不同的報表服務器文件夾。然後使用BIDS部署該模型。這個頻率很低,每隔幾個月纔會發生一次。如果我們必須同時設置大量數據庫,這將是一個緩慢而痛苦的過程。作爲附註,我們通過配置每個報告文件夾(即<databaseName>
文件夾)的安全性來限制對每個已部署模型的訪問權限。
模型更新
因爲我們最初的部署是手動的,更新的相同方式模型將是非常痛苦的。所以我編寫了一個工具,它利用SSRS提供的Web服務來刷新我們部署的模型。在高層次,這是如何工作的;在對BIDS項目中發現的報告模型進行更改(記住,我們只有一個項目,而不是每個已部署模型的項目)後,該工具將循環使用每個數據庫,並調用傳遞已更新模型文件的網絡服務方法SetModelDefinition。我們不更改數據源,因此報表服務器上的更新模型將繼續使用其配置的數據源。再次,這僅適用於數據源名稱不會更改每個數據庫。
僅供參考這裏的工具確實給bulk
上傳模型什麼例如C#代碼
// prepare the model for upload
string pathToSmdlFile = "c:\ReportModel.smdl";
string pathToDataSourceViewFile = "c:\ReportModel.dsv";
string semanticModel = System.IO.File.ReadAllText(pathToSmdlFile);
string dataSourceView = System.IO.File.ReadAllText(pathToDataSourceViewFile);
// combine the semanticModel and dataSourceView, BIDS does when you use the `deploy` action
// because we're doing this in code we have to combine
byte[] model = Encoding.UTF8.GetBytes(semanticModel.Replace("</SemanticModel>", dataSourceView + "\n</SemanticModel>"));
// upload model using web service
using (var rs = new ReportingService2005WS.ReportingService2005())
{
rs.Url = "http://yourserver/ReportServer/ReportService2005.asmx";
rs.Credentials = new System.Net.NetworkCredential("admin", "password");
foreach (string databaseName in GetDatabaseNames())
{
string fullpath = string.Format("/Models/{0}/ReportModel", databaseName);
rs.SetModelDefinition(fullpath, model);
}
}
我並不是說這是一個完美的設置 - 其實,我覺得我應該可以上傳報表模型一次,並且在使用該報告的時間點改變了數據源。也許可以根據所使用的SSRS登錄配置不同數據源的使用。如果報告本身不能通過正確的數據源的細節來使用(或連接字符串)。另一方面,這意味着我們的用戶不必知道連接到數據庫的細節。我們只是給他們SSRS登錄,並允許他們與報告生成器一起構建;由於安全性適用於每個數據庫文件夾,他們被限制在那裏數據庫...
- 1. SSRS報告模型基數
- 2. DDD:用於報告的圖層(查看模型/報告模型)
- 3. 從報告服務數據模型報告中調用標量值函數
- 4. SSRS 2012報告模型
- 5. 學生報告的數據庫模式
- 6. Asp.net Mvc報告與Rdlc數據集與模型類
- 7. XGBoost驗證數據模型性能報告
- 8. django從模型數據報告 - 打印多個表
- 9. 針對不斷變化的數據模型檢查報告
- 10. 數據庫建模電子郵件列表和報告類型
- 11. SSRS 2005或2008報告模型數據緩存?
- 12. 報告數據 - WPF
- 13. jMeter數據報告
- 14. 問題在搜索和顯示來自報告模型報告
- 15. 使用數據源而不是報表模型的SSRS臨時報告
- 16. 使用簡單模型的1TB數據報告/分析數據庫
- 17. 模式函數報告4.6
- 18. C#模型對象對於報告
- 19. DAX模型中的時間點報告
- 20. 錯誤模型中的「報告」
- 21. 回報率 - 模型與數據庫
- 22. 數據行的RDLC報告
- 23. 數據報告至pdf
- 24. 數據庫設計 - 報告
- 25. Jasper報告數據過濾
- 26. 提取數據報告表
- 27. 組織數據報告(rdlc)
- 28. 數據庫(OLTP)和報告
- 29. MiniProfiler報告記錄數據
- 30. 數據收集報告
嗨我很想知道你對我的答案有什麼想法嗎? –