我写了一个快速查询,它从系统中提取信息,并在任务完成时将其放入电子邮件中。每个任务都有一个数字id,这是数据和附件之间的关键链接。
该电子邮件运行查询,例如号码:15005。它提取15005的数据,并在名为15005.pdf 的位置查找附件
然而,这很好用。我还需要查询工作,并在没有附件的情况下发送电子邮件。-有时文件没有到达,我们根本没有15005.pdf.
因此,我需要某种形式的SQL方法来识别它是否出错,并使用不带附件的备用电子邮件设计。或者忽略错误。
仅供参考,有问题的错误是:Msg22051-"附件文件无效">
如果需要的话,我可以发布查询,但这一切都很好,只是我一直在使用的电子邮件:
EXEC msdb.dbo.sp_send_dbmail
@recipients = @Recipients,
@subject = @PONumber,
@body = @tableHTML,
@file_attachments = @Attach,
@profile_name = 'Email',
@body_format = 'HTML';
此外,有问题的@Attach正在成功工作,因为它正在寻找可能存在的正确文件名。
不是最整洁的选项,但由于我打算在计划的作业中运行此选项,我将步骤1设置为带附件的电子邮件,如果出现错误,则转到步骤2。它在没有附件的情况下运行。