T-SQL Dbmail忽略错误/发送带/不带附件的电子邮件(动态电子邮件)

时间:2017-11-01 17:50:17

标签: sql tsql email-attachments sp-send-dbmail dbmail

我写了一个快速查询,它从系统中提取信息,并在任务完成时将其放入电子邮件中。每个任务都有一个数字ID,这是数据和我的附件之间的关键链接。

电子邮件运行查询,例如编号:15005。它将数据拉为15005,并在名为15005.pdf的位置查找附件

然而,这很好。我还需要查询才能工作,并在没有附件时发送电子邮件。 - 有时文书工作没有到达,我们根本没有15005.pdf。

所以我需要某种形式的方法让SQL识别它的错误,并使用没有附件的备用电子邮件设计。或者只是忽略错误。

仅供参考,有问题的错误是:消息22051 - “附件文件无效”

如果需要,我可以发布查询,但这一切都运行正常,这只是我坚持的电子邮件位:

EXEC msdb.dbo.sp_send_dbmail
@recipients = @Recipients,
@subject = @PONumber,
@body = @tableHTML,
@file_attachments = @Attach,
@profile_name = 'Email', 
@body_format = 'HTML';

此外,有问题的@Attach正在成功运作,因为它正在寻找WOULD存在的正确文件名。

1 个答案:

答案 0 :(得分:0)

不是最新的选项,但由于我打算在预定作业上运行此选项,因此我将步骤1设置为带附件的电子邮件,如果错误则将其移至步骤2.在没有附件的情况下运行它。