首页 > 解决方案 > 在 SQL Server 2016(Power BI 服务器)上从 SSRS 将大文件导出到 Excel 时出错

问题描述

我在为我的业务簿和非鲍勃号码运行的服务器上有一个分页报告。它有一个相当有效的查询,非 bob 数字执行和导出到 Excel 非常快 - 但是当 bob 运行时,它需要 2 多个小时,并且在导出时执行崩溃。

如果使用订阅导出到 Excel 运行,则错误显示为“写入文件 [报告名称] 失败:报告处理期间发生错误”。,但日志中没有特定的错误消息。

执行结束时日志中显示以下错误:

发生 OData 异常:System.ObjectDisposedException:安全句柄已关闭

错误:引发 Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:缺少静态引用,Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:报表服务器发生内部错误。有关详细信息,请参阅错误日志。

错误:数据集“源”中发生异常。详细信息:Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:报表服务器发生内部错误。有关更多详细信息,请参阅错误日志。信息:为 ID= 的报告调用了 DataPrefetch 中止处理程序。正在中止数据源...

错误:引发 Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException:[AbnormalTermination:ReportProcessing],Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException:报告处理期间发生错误。---> Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:报表服务器发生内部错误。有关更多详细信息,请参阅错误日志。

而且我不确定其他提到的错误日志在哪里深入研究。

查询需要不到 5 分钟的时间来提取几百万条记录,然后我使用 SSRS 将这些记录切片到 10 个不同的摘要 tablix 中,目的是将输出导出到 Excel (EXCELOPENXML)。

每个导出的选项卡有 52 列,最大的选项卡中不超过 25,000 条记录,因此输出不会遇到任何 Excel 限制。除了不超过 50 个字符的分组名称外,没有字符串字段,其他都是数字或百分比。每个 tablix 行中都有小图表。

我预计最终输出文件的大小会很大,可能超过 50 mb。但是,我没有遇到任何关于 Excel 中输出文件大小限制的文档。

我尝试在报告和订阅选项中调整超时(无限制)并增加内存大小,web.configrsreportserver.config重新启动服务,但这对执行没有帮助。

标签: sql-serverexcelreporting-servicesexport-to-excelpower-bi-report-server

解决方案


推荐阅读