在报告服务2008 Web服务中调用renderstream时出现错误

5
在我的应用程序中,我有一个图表存储在报表服务中,调用了一个名为“RenderStream”的方法,但是它会给出以下错误信息:
"System.Web.Services.Protocols.SoapException was unhandled by user code Message="System.Web.Services.Protocols.SoapException: 所选报表无法查看。报表仍在呈现或报表快照不可用。---> Microsoft.ReportingServices.Diagnostics.Utilities.ReportNotReadyException: 所选报表无法查看。报表仍在呈现或报表快照不可用。\n at

Microsoft.ReportingServices.WebServer.ReportExecution2005Impl.RenderStream(String Format, String StreamID, String DeviceInfo, Byte[]& Result, String& Encoding, String& MimeType)\n at Microsoft.ReportingServices.WebServer.ReportExecutionService.RenderStream(String Format, String StreamID, String DeviceInfo, Byte[]& Result, String& Encoding, String& MimeType)"

有人遇到过这个错误吗?
提前感谢您的帮助, Chris.

有解决方案吗?我也在我正在开发的应用程序中看到完全相同的现象.. :/ - tbehunin
2个回答

2

由于RenderStream()的使用文档非常有限,我一直收到这个错误,但我找到了解决方法。RenderStream()需要传递一个StreamId。您可以从Render()方法中接收这些ID的数组。因此,在调用RenderStream()之前,必须调用Render()。此外,Render()在ExecutionHeader中返回一个ExecutionId。此ID也必须在RenderStream()方法中传递,并包装在ExecutionHeader对象中。一旦我这样做了,错误就消失了,并且报告生成了我想要的图像。希望这能帮助到某个人。


0

尝试禁用快照隔离

ALTER DATABASE AdventureWorks SET ALLOW_SNAPSHOT_ISOLATION = OFF


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接