我正在研究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. 数据收集报告
嗨我很想知道你对我的答案有什么想法吗? –