ReportExecution2005 - Можете ли вы получить количество строк для обработанного отчета? - PullRequest
0 голосов
/ 23 ноября 2010

Я пытаюсь обойти тот факт, что SSRS будет отправлять электронные письма с отчетами по расписанию, даже если в отчете нет данных. Я подумал, что мог бы использовать ReportExecution2005 для выполнения (рендеринга) отчета и затем отправить электронное письмо, если количество строк больше нуля. Это возможно?

1 Ответ

2 голосов
/ 01 февраля 2011

Сначала я опубликовал отчет, а затем создал подписку на запуск только один раз.Как только это было завершено, я взял название работы для этой подписки на отчет.Затем я создал хранимую процедуру, которая проверила количество записей, и, если записи были обнаружены, она запустила msdb..sp_start_job @job_name = '', которая отправила мне и нашему персоналу технической поддержки электронное письмо.Итак, в двух словах ... он только уведомит меня, если и когда будут обнаружены записи.

DECLARE @cnt smallint

SELECT @cnt = COUNT(FieldName) FROM TableName

IF (@cnt) > 0

BEGIN

  exec msdb..sp_start_job @Job_Name = 'E1F4B93A-8578-490D-BD15-3C989C3BE4F3'

END

ELSE

BEGIN

PRINT 'No Records Found!'

END

Вот ссылка на мое сообщение, в котором есть запрос, который поможет с получением правильного имени работы.Он работает на 2005 и 2008 годы, но вам нужно изменить его, если вы используете именованный экземпляр.http://ayesamson.com/category/sql-server/2008/reporting-services-2008/subscriptions/

Надеюсь, это поможет.Мы используем стандартную версию SQL Server 2005 & 2008 / R2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...