gpt4 book ai didi

reporting-services - SSRS - OutOf MemoryException - 可以显示的行数是否有限制

转载 作者:行者123 更新时间:2023-12-05 00:09:19 31 4
gpt4 key购买 nike

我创建了一个 rdl 文档,该文档指向一个返回 90 000 行的 proc,并且出现内存不足异常。报表项目可以处理的行数是否有限制?

目前,我已将驱动我的报告的 proc 更改为仅执行选择的 Top 90 000。我的规范是能够创建具有 120 000 行的报告。我的报告是一个矩阵。

我发誓上周我生成了一份包含 106800 行的报告,但现在突然间我不能。

我已经编写了一个渲染扩展,这是我进入代码时的一部分异常。

eInfo: 2/12/2009 12:03:53 PM prairieFyre.ReportActions.RenderReport: Error rendering report Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An unexpected error occurred in Report Processing. ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.IO.MemoryStream.set_Capacity(Int32 value) at System.IO.MemoryStream.EnsureCapacity(Int32 value) at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count) at System.IO.BinaryWriter.Write(String value) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.ReportServerBinaryWriter.WriteString(String stringValue) ....

最佳答案

除了您的硬件配置之外,我认为没有限制。如果您在 32 位机器上,正在处理的工作进程只有不到 2 GB 的内存可供使用,当您考虑内核模式内存时,可能接近 1 GB。如果您要提供这样的大型报告,您可能需要一个 64 位设置,并且包装盒上至少有 4 个或更多的内存。此设置将允许工作进程分配超过 2 gig 的可用内存来完成这些大型请求而不会出现问题。

如果硬件升级不是一种选择,您也可以考虑这些替代方案。

  • 您说该报告是矩阵报告,因此听起来您并未向用户显示所有数据,而是对其进行了汇总。您能否在数据库中预先聚合一些此类数据,然后仅使用 SSRS 进行显示?
  • 由于报告只不过是一个 XML 文件,因此请从 SQL Server 内部或使用某些脚本或过程构建报告 XML 字符串。这可能需要大量工作。
  • 关于reporting-services - SSRS - OutOf MemoryException - 可以显示的行数是否有限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/542471/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com