我正在尝试使用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附件。但是,当打开附件时,我收到一个错误。我认为文件的大小正在被截断,即使我在查询中明确表示不存在。
我已经在数据库邮件设置中检查了MAX允许的邮件大小,它目前是104857600字节(100mb),我试图发送的文件远远没有达到这个大小 - 所以我有点困惑。
答案 0 :(得分:0)
尝试将@query_no_truncate
参数设置为1.当在查询中使用大的可变长度数据类型且此选项为0或未指定时,数据将被剪切为256个字符。参考:http://msdn.microsoft.com/en-us/library/ms190307.aspx
答案 1 :(得分:0)
我知道这是一个旧线程,但我刚遇到同样的问题。问题是SQL报告错误并将错误消息存储在附件中。
更改附件名称以获得$scope.formData
分机并发送电子邮件。打开.txt
文件并查看错误。安全配置可能就是这样。