Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services ReportExecution2005-能否获取呈现报告的行数?_Reporting Services_Ssrs 2008 - Fatal编程技术网

Reporting services ReportExecution2005-能否获取呈现报告的行数?

Reporting services ReportExecution2005-能否获取呈现报告的行数?,reporting-services,ssrs-2008,Reporting Services,Ssrs 2008,我试图绕过这样一个事实,即即使报告中没有数据,SSR也会发送预定的报告电子邮件。我想,如果行数大于零,我可能可以使用来执行(呈现)报告,然后发送电子邮件。这可能吗?首先我发布了报告,然后我只创建了一次fire订阅。完成后,我抓取了该报告订阅的作业名称。然后,我创建了一个存储过程来检查记录计数,如果检测到记录,它就会启动msdb..sp_start_job@job_name='',并通过电子邮件发送给我和我们的技术支持人员。所以简而言之。。。它只会在检测到记录时通知我 DECLARE @cnt s

我试图绕过这样一个事实,即即使报告中没有数据,SSR也会发送预定的报告电子邮件。我想,如果行数大于零,我可能可以使用来执行(呈现)报告,然后发送电子邮件。这可能吗?

首先我发布了报告,然后我只创建了一次fire订阅。完成后,我抓取了该报告订阅的作业名称。然后,我创建了一个存储过程来检查记录计数,如果检测到记录,它就会启动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年,但如果您使用的是命名实例,则需要对其进行修改。

希望这有帮助。我们使用标准版的SQLServer2005和2008/R2