SSRS 2008 サーバーをネイティブ モードで実行しています。次のことが可能かどうか、可能であればその方法を理解しようとしています。ある条件が満たされた場合にのみレポートを生成するスケジュールされたサブスクリプションが必要です。私にとって条件を表現する最も自然な方法は、特定のクエリがデータとともに返された場合です。これは可能ですか?
したがって、基本的には定期的に DB をチェックし、(エラー ログのような) データがあれば、それについてメールを送信します。
さらに調査した結果、次のリンクを見つけました: http://blogs.msdn.com/b/bimusings/archive/2005/07/29/445080.aspx コメントで人々は次のトリックを提供しています:
IF NOT EXISTS ( SELECT * FROM ....)
RAISEERROR('no records found,'16,1
ELSE
SELECT * FROM ....
これを使用して、送信する電子メールを生成したり、エラーをスローしたりできます。問題は、レポートがストアド プロシージャでラップされており、ストア プロシージャで IF NOT EXISTS を使用できないことです。ストアド プロシージャが行を一時テーブルに配置したり、@@rowcout を参照して実行したりせずに返されたかどうかを確認する方法に関する推奨事項はありますか? 最後の方法は、手順の出力を電子メールと一緒に返すことができないため、私には適していません。