SQL报告 - 多页EMF报告问题

MrC*_*aze 7 .net sql-server-2008 sql-server-2008-r2 reporting-services sql-server-2012

我希望任何人都可以帮助解决这个问题.许多人都认为这个问题很简单,因为在SQL2008 R2和SQL2012中,以编程方式呈现EMF格式报告不起作用.

这是通过MS连接在这里记录的:https://connect.microsoft.com/SQLServer/feedback/details/560911/sql-2008-r2-reportexecutionservice2005-broken-with-image-emf#tabs

总之,当调用ReportExecutionService对象的Render方法时,它会返回第一页以及流ID的数组(通过输出参数)以映射后续页面.然后,在该流上为每个后续页面调用RenderStream方法.在2008年的R2/2012中,流ID的数组空回来意味着你只能获得第一页 - 这使它变得毫无用处.

我很高兴看到MS发布了2012修补程序的修补程序:http://support.microsoft.com/kb/2637802

但是,安装修补程序/重启/等后,我仍然有问题.有没有人得到这个修补程序工作?有同样的经历吗?知道大型报告的可行解决方案吗?

谢谢你的帮助.史蒂夫

小智 2

对于具有多个页面的 EMF,您必须使用rs:PersistedStreams=Truers:GetNextStream=TrueURL 访问参数。有关这些的更多信息:http://blogs.msdn.com/b/jgalla/...

不幸的是,这不会立即为您提供帮助,因为您无法使用 SSRS 执行 Web 服务中的 URL 访问参数。

您必须构建一个 WebRequest,如上面的博客所示(您需要自己将整个 url 放在一起),或者使用 ReportViewer 控件,如下所示: http: //blogs.msdn.com/b/brianhartman/.. 。

这里还讨论了多页 EMF 问题。上述链接也包含在那里。

最后一点,我在 SQL 2008 R2 的安装上进行了测试,后来添加了 SP1,然后添加了 SP1 CU6。SP1 CU6 包含根据进行的修补程序。如上所述,在所有情况下,对于 EMF,streamIDs 参数都保持为空。无论如何,在我的机器上以前安装了 SQL 2005,也许在某个时候安装了 2008。一些帖子表明以前安装的 SQL Server 可能存在问题,因此安装全新的操作系统可能会有所帮助。如果你迫切希望这个能起作用。