0

我们有 SQL 2012 Express 的 SSRS 报告。我们需要以 OPENXML 格式导出报告。有一个 C# 控制台应用程序将所需的参数传递给 SSRS,检索导出的报告并将其保存到文件中。我们的报告有一些参数在生成报告之前是未知的。

使用 HttpWebRequest 导出报告。当我们有大约 50,000 行的中型报表时,一切正常。但是当我们有 500,000 行的报告时,eportingServicesService.exe 开始消耗服务器上所有可用的 RAM,并且 SSRS 经常因 OutOfMemory 异常而崩溃。我们还尝试了 ReportServer 组件来导出报告,但这没有任何区别。

有什么方法可以告诉 SSRS 它不应该尝试一次生成整个报告,而是分块发送或通过 HttpWebResponse 流式传输?生成的文件只有大约 40MB,所以我真的不清楚为什么 SSRS 服务在生成此报告时使用超过 500MB 的 RAM 和 100% 的 CPU。

4

1 回答 1

2

我在 SSRS 导出到 Excel 300000 行时遇到了同样的问题;在我的情况下,解决方案是在 sql server 中构建一个 clr 存储过程并在我的 Web 应用程序中调用它。

于 2012-12-14T15:24:31.800 回答