【问题标题】:Error when calling renderstream in reporting services 2008 webservice在 Reporting Services 2008 Web 服务中调用渲染流时出错
【发布时间】:2010-01-06 16:03:08
【问题描述】:

在我的应用程序中,我有一个存储在 Reporting Services 中的图表,有一个名为“RenderStream”的方法被调用,但它给出了以下错误:

"System.Web.Services.Protocols.SoapException 未被用户代码处理 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[]&

结果、字符串和编码、字符串和 MimeType)\n 在 Microsoft.ReportingServices.WebServer.ReportExecutionService.RenderStream(String

格式、字符串StreamID、字符串DeviceInfo、字节[]&结果、字符串&编码、字符串&MimeType)"

以前有人遇到过这个错误吗?

提前非常感谢, 克里斯。

【问题讨论】:

  • 有什么解决办法吗?我也在使用我正在开发的应用程序看到完全相同的现象.. :/

标签: c# asp.net sql ssrs-2008


【解决方案1】:

由于有关 RenderStream() 用法的文档非常有限,我收到了这个错误,但我找到了解决方法。 RenderStream() 需要一个 StreamId 来传递给它。您从 Render() 方法接收到这些 id 的数组。因此,您必须在调用 RenderStream() 之前调用 Render()。此外,Render() 在 ExecutionHeader 中返回一个 ExecutionId。此 ID 必须在 RenderStream() 方法中传递,也包含在 ExecutionHeader 对象中。一旦我这样做了,错误就消失了,报告生成了我正在寻找的图像。希望这对那里的人有所帮助。

【讨论】:

    【解决方案2】:

    尝试禁用快照隔离

    ALTER DATABASE AdventureWorks 设置 ALLOW_SNAPSHOT_ISOLATION = 关闭

    【讨论】:

      猜你喜欢
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多