SQL Server SP_SEND_DBMAIL图像文件附件
-
02-10-2019 - |
题
我在表上使用触发器使用sp_send_dbmail发送电子邮件。
我想在图像类型的电子邮件中包括一个文件附件。
JPEG的原始数据存储在类型二进制的NDL_IMAGE列中。
我有以下代码: -
DECLARE @ReferenceID varchar(max)
DECLARE @Recipient varchar(Max)
DECLARE @Body varchar(max)
DECLARE @Subject varchar(max)
DECLARE @Q varchar(max)
--Get the EntryId and FormID for the inserted data.
SET @ReferenceID = 40
SET @Recipient = (SELECT ndl_CategorySendTo FROM ndl_config WHERE ndl_CategoryName = 'Dead Animal')
SET @Body = '<html>A new request has been created.</html>'
SET @Subject = 'NDL Report It: New Request #'+@ReferenceID
SET @Q = 'SELECT ndl_Image from dbo.ndl_data where ndl_ID ='+@ReferenceID
--Execute the stored procedure to send mail.
EXEC msdb.dbo.sp_send_dbmail
--Pass it the following paramaters.
@recipients=@Recipient,
@body=@Body,
@subject=@Subject,
@profile_name='NDLProfile',
@body_format ='HTML',
@execute_query_database='NDL_MX',
@query = @Q,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'image.jpg'
这可以正常工作,但是如果我评论最后一行,似乎将查询返回为文本文件。
如何将附件作为JPEG文件获取????
谢谢。
解决方案
我认为这是不可能的。如文档中指定的 sp_send_dbmail:
“指定查询时,将结果集格式为内联文本。 结果中的二进制数据以十六进制格式发送。“ [添加了强调
不隶属于 StackOverflow