【问题标题】:Use Entity Framework as SSRS DataSource (.rdl files)使用实体框架作为 SSRS 数据源(.rdl 文件)
【发布时间】:2015-01-21 12:23:59
【问题描述】:
我的报表服务器中有 100 个 .rdl 文件,所有报表都在每个报表中使用共享数据源和嵌入数据集。我正在使用存储过程来查询数据库。在这里一切正常。我在处理 .rdl 文件时遇到了一些问题。
-
无法一一上传.rdl文件并为每个上传的.rdl文件指定数据源。
-
另外,计划使用网络应用程序EDMX 作为我所有报告的数据源。因此,我可以使用任何数据库服务器通过实体框架连接到我的数据,而无需更改太多代码更改。因为,存储过程在我的情况下是不可行的。
我需要知道处理上述两种情况的最佳方法是什么。如果您对此有所了解,请指导我继续前进。我将不胜感激。
【问题讨论】:
标签:
c#
entity-framework
reporting-services
【解决方案1】:
- 您可以使用SetItemDataSources Web 服务方法以编程方式更改 SSRS 服务器上报告的数据源。
- 您可以使用XML Connection Type 让报表数据来自 XML Web 服务(例如 OData),而不是直接来自 SQL 服务器。这种方法有一些限制(例如:它不支持“数据集属性”窗口中的“刷新字段”)。更好的选择是创建自己的Data Processing Extensions,在其中创建 IDbCommand/IDataReader 以连接到 EDMX 并检索数据。这允许您将 SSRS 与后端分离(例如:如果您想将数据作为 JSON 传输,您可以在自定义数据处理扩展中执行此操作,因为 XML 连接类型不支持>.