SQL Server 2008 R2 Reporting Services を使用しており、レポート ビルダー 3.0 でレポートを設計し、レポート マネージャー (http://host/Reports/
ではなくhttp://host/reportserver/
) で表示しています。
この方法で多数のレポートを作成してアクセスし、1 時間ごとに更新されるデータベースからデータを読み取ります。更新プロセスには数分かかりますが、(テーブルごとに) 一致するすべての行を削除し、新しいデータを (トランザクション内に) 挿入するために私が書いた単純な ETL C# スクリプトです。プロセスのこの部分を変更する必要があるかもしれないので、この質問に SQL Server 2008 R2 のタグを付けました。
私の問題は、インポートと SSRS レポートの実行が同時に実行されるたびに、rsProcessingAborted エラーが発生することです。実行中に基になるデータが変更されると、処理が中止されるようです。私のレポートの 1 つは非常に複雑で、実行に数分かかるため、このエラーが頻繁に表示され、通常、他のレポートではまったく表示されません。
An error has occurred during report processing. (rsProcessingAborted)
Cannot read the next data row for the dataset xxx. (rsErrorReadingNextDataRow)
これらのレポートは、エラーを表示したくないユーザーと共有する必要があります。できる方法はありますか
- レポートをとにかく実行できるように、インポート スクリプトと SSRS 実行を「アトミック」にします。
- Report Manager に表示される rsProcessingAborted エラーをカスタマイズして、「このレポートの背後にあるデータを更新しています。5 分後にもう一度お試しください。」のようなメッセージがユーザーに表示されるようにします。- まだいらいらしますが、上記のエラーよりはましです...