我正在尝试使用sp_send_dbmail发送附件。附件存储在表的varbinary(MAX)列中。下面是我的问题:
EXEC msdb.dbo.sp_send_dbmail
@recipients='mick.walker@somewhere.com',
@subject = 'Test Attachment',
@body = 'Test',
@body_format = 'HTML',
@profile_name = 'intranetadmin',
@query = 'Select DocumentData from [myDB].[dbo].[Documents] Where DocumentID = 8',
@query_result_header = 0,
@attach_query_result_as_file = 1,
@query_attachment_filename = 'Test.pdf',
@exclude_query_output = 1,
@query_no_truncate = 0;
该电子邮件发送成功与pdf附件。然而,在打开附件时,我得到了一个错误。我认为文件的大小正在被截断,即使我在我的查询中明确声明了no to。
我已经检查了数据库邮件设置中允许的最大邮件大小,它当前是104857600字节(100mb),我尝试发送的文件远未达到这个大小-所以我有点困惑。
发布于 2015-06-16 22:28:53
我知道这是一个老帖子,但我刚刚遇到了同样的问题。问题是SQL报告了一个错误,并将错误消息存储在附件中。
将附件的名称更改为.txt
扩展名,然后发送电子邮件。打开.txt
文件并查看错误。这可能是安全配置的一部分。
发布于 2012-10-18 10:47:30
尝试将@query_no_truncate
参数设置为1。当查询中使用大型可变长度数据类型并且此选项为0或未指定时,数据将被剪切为256个字符。参考:http://msdn.microsoft.com/en-us/library/ms190307.aspx
https://stackoverflow.com/questions/12950756
复制相似问题