sql-server - 如何使用从 RDL 模式生成的报告类创建 RDL

标签 sql-server reporting-services ssrs-2008

我有一个项目,我们正在为 SSRS 2008R2 创建自定义报告生成器。该项目允许用户从数据库中选择字段,然后创建 RDL 并将其存储在报表服务器上。 对于一些最初的概念验证尝试,我们一直在使用 XMLText writer 来生成 XML 文件。虽然这可行,但这似乎非常麻烦,而且我对如何生成 100% 防弹的模式没有太大信心。第二次尝试实际上是使用 RDL 生成的类作为我的对象模型。我被困在这里的地方是关于如何使用这个对象的文档几乎为零。 MSDN has a tutorial关于更新模型,但它在概念上非常基本。

我正在寻找有关首选方法的一些指导。 1) 继续生成 XML 2) 使用 RDL 对象创建报告 3) 我还考虑过使用 SSRS 端点,在其中创建虚拟报告并将其存储在服务器上,然后使用 RDL 对象模型使用必要的字段、组等更新报告。

我还没有测试第三个选项,但它似乎可以最大限度地减少创建文档的编码量。

感谢任何建议或想法

最佳答案

我刚刚构建了一个程序,用于从报告模板和存储过程创建 SSRS 报告。

我正在使用 RDLObjectModel 创建报告。和 RDLSerializer 允许将报告保存到文件或报告服务器。我首先通过 SSRS Web 服务从我们的报表服务器加载一个报表模板,以将服务器报表反序列化为 RDLObjectModel。然后,我为报表字段导出参数,并从存储过程中导出字段以生成报表数据集。

我遇到的问题是我无法序列化报告对象以将其保存到服务器或文件,因为在 RDL2008 中 RDLSerializer 是私有(private)的。然后我看到了一篇文章,让我省去了很多麻烦。 http://ucodia.fr/2011/10/advanced-reporting-services-part2-rdl-serializer/

这是一种比使用 XMLTextWriter 更好的方法。这应该为您提供足够的东西来插入事情的发展。

关于sql-server - 如何使用从 RDL 模式生成的报告类创建 RDL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17283817/

相关文章:

sql-server - 从查询结果中删除重复数据

sql - 如何查找大描述值中的字符串

sql - 基于层次结构的透视数据

reporting-services - 报告迁移 : Crystal Reports (Rpt) to Sql Reports (Rdl)

csv - 报表生成器导出到带有列标题空间的 CSV

visual-studio - 如何在 SSRS VS2008 中为多个数据集应用父组

sql - 只显示有 MOrderNo 的子订单号

reporting-services - 如何卡住表格报告中的第一列?

excel - SSRS 2008 R2 - 导出到 Excel 时的 MAX TABS

time - SQL Server Reporting Services 将小时格式设置为小时 :Minutes