我正在尝试在SSRS中创建报告。该报告为其数据调用存储过程。我想在表中显示数据。
但事实是,存储过程的结果有时会有所不同,因为每个客户都有自己的“模板”。这意味着客户A的结果可能是:

帐号|客户ID
1234567890 0987654321
1579086421 1234565465
..................................

对于客户B可以是:

客户名称|地址
客户B测试街1
客户测试Teststreet 2
..................................

有50种不同的列可供选择。列的顺序也是可编辑的。我的存储过程可以解决这个问题。我唯一想做的就是将存储过程的结果集1:1放在我的报告中(标题+正文)。你们知道怎么做吗?

如果那不可能,是否有C#解决方案?即在C#中创建报告对象,调整设置等。

谢谢

最佳答案

您可以根据存储过程返回的数据集动态创建SSRS报告。报告格式(RDL)及其XML格式均已记录在案。因此,您可以使用System.XML命名空间生成RDL。另一种(不受支持的)方式是引用RDL对象模型程序集(Microsoft.ReportingServices.RdlObjectModel)-您可以在SSRS 2008服务器计算机上找到该程序集并将其复制到本地计算机上。它提供了一个对象模型来读取/生成RDL。

我采用的方法是根据数据表动态生成RDL(作为XML),然后使用Web服务API将RDL发布到SSRS服务器上。

08-26 17:46