我有一个项目,我们正在为SSRS 2008R2创建一个自定义报告生成器。此项目允许用户从数据库中选择字段,然后在报表服务器上创建和存储RDL。对于一些最初的概念验证尝试,我们一直使用XMLText来生成XMLText文件。虽然这是有效的,但这似乎是非常麻烦的,我对模式是如何100%防弹生成的没有太大的信心。第二次尝试实际上是使用从RDL生成的类作为我的对象模型。我被困在这里的地方是几乎没有关于如何使用这个对象的文档。MSDN has a tutorial关于更新模型,但它在概念上非常基础。
我正在寻找一些关于首选方法的指导。1)继续XML生成2)使用RDL对象创建报告3)我还考虑过使用SSRS端点,其中创建了一个虚拟报告并将其存储在服务器上,然后使用RDL对象模型使用必要的字段、组等更新报告。
我还没有测试第三种选择,但它似乎可以最大限度地减少创建文档的代码量。
感谢您的任何建议或想法
发布于 2013-06-27 01:39:16
我刚刚构建了一个从报告模板和存储过程创建SSRS报告的程序。
我正在使用RDLObjectModel创建报告。和RDLSerializer,允许将报表保存到文件或报表服务器。我首先通过SSRS web服务从报表服务器加载一个报表模板,将服务器报表反序列化为和RDLObjectModel。然后,我派生报表字段的参数,并从存储过程派生字段以生成报表数据集。
我遇到的问题是,我无法序列化报告对象,无法将其保存到服务器或文件中,因为在RDL2008中,RDLSerializer是私有的。然后我偶然看到了一篇文章,这篇文章让我省去了很多麻烦。http://ucodia.fr/2011/10/advanced-reporting-services-part2-rdl-serializer/
这是一种比使用XMLTextWriter更好的方法。这应该会给你提供足够的帮助来让事情开始。
发布于 2019-06-28 22:19:57
我在使用RdlObjectModel创建报告对象时遇到了同样的问题,但我无法对其进行序列化。有一种方法可以克服这个问题,您仍然可以获得RdlSerializer实例并使用反射调用序列化方法
您可以在以下link中找到该实现
https://stackoverflow.com/questions/17283817
复制相似问题