0

SQL 2012 Express の SSRS レポートがあります。レポートを OPENXML 形式でエクスポートする必要があります。必要なパラメーターを SSRS に渡し、エクスポートされたレポートを取得してファイルに保存する C# コンソール アプリケーションがあります。私たちのレポートには、レポートを生成するまでわからないパラメータがいくつかあります。

レポートは、HttpWebRequest を使用してエクスポートされます。約 50,000 行の中規模のレポートでは、すべてがうまく機能します。しかし、500,000 行のレポートがある場合、eportingServicesService.exe はサーバーで使用可能なすべての RAM を消費し始め、SSRS はしばしば OutOfMemory 例外でクラッシュします。ReportServer コンポーネントでレポートをエクスポートすることも試しましたが、違いはありません。

レポート全体を一度に生成しようとするのではなく、チャンクで送信するか、HttpWebResponse を介してストリーミングする必要があることを SSRS に伝える方法はありますか? 結果のファイルは約 40MB しかないため、このレポートの生成中に SSRS サービスが 500MB を超える RAM と 100% の CPU を使用している理由がよくわかりません。

4

1 に答える 1

2

SSRSのExcelへのエクスポート300000行でも同じ問題が発生しました。私の場合、解決策はSQLサーバーで1つのclrストアドプロシージャを構築し、これをWebアプリケーション内で呼び出すことでした。

于 2012-12-14T15:24:31.800 に答える