2

通常在 SSRS 报告中,要创建报告,我们定义数据源,然后定义查询、选择报告布局和其他属性。然后在运行时报告服务触发设计时提供的查询并获取数据集/数据表并将数据与报告结构/网格绑定。

我的 rdl 报告已经托管在服务器上,在运行时我想用我的数据替换报告引擎在报告中获取的数据。由于一些限制,我不能让报告引擎查询我的数据库。

现在我可以自己从任何数据源获取数据,创建值的数据集/数据表并将此数据集/数据表传递给报告引擎以将其与报告绑定吗?所以基本上我想从报告引擎中得到的是:不要在设计时触发查询定义,而是将我的数据集/数据表在结构和除数据值之外的所有内容上都放在报告引擎在触发后将获得的数据集/数据表中询问。

有没有办法使用 RDLobjectModel 或 ReportService2010 或 ReportExection 服务或这些服务的组合或可能是其他东西来实现上述目标?

4

1 回答 1

2

好吧,我得到了解决方案:自定义数据处理扩展 http://msdn.microsoft.com/en-us/library/ms152816(v=sql.105 )

DPE 负责从数据源获取数据并将其返回给 ssrs 服务器。SSRS 中有几个内置的 DPE,如 SQL、OLEDB、XML 等。同样,我们可以编写自己的自定义 DPE 并将其注册到 SSRS 以及 BI studio。在自定义 DPE 中,我将编写自定义代码以获取具有实际值的 system.data.dataset 并将其返回给 SSRS。

或者,我可以在创建报表时使用 XML DPE 并使用嵌入式 XML 作为数据源,并且在运行时我可以使用 ReportService 和 RDLObjectModel 将这个嵌入式 XML 替换为表示数据集的 XML。

于 2012-08-02T07:40:55.520 回答