sql server 2005-如何使用sp_send_dbmail发送VARBINARY列的内容



我有一些文件存储在SQLServer2005表的VARBINARY(MAX)列中。我需要按计划将这些文件通过电子邮件发送给用户,尽管我可以编写一个C#服务来提取和发送电子邮件,但sp_send_dbmail似乎非常适合我的目的。我使用的代码如下:

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'SQL Mail Profile',
@recipients = 'emailaddress',
@query = 'set nocount on; select CAST(content AS varchar(MAX)) from files where fileid=''xxx''' ,
@subject = 'Random File',
@attach_query_result_as_file = 1,
@query_attachment_filename = 'random file.pdf',
@query_result_no_padding = 1,
@query_result_header = 0,
@query_no_truncate = 1;

当我直接使用查询时,我会得到PDF文件的文本表示,但当我使用上面的代码时,我得到了文件的截断版本(总是792字节)。这似乎表明有一个设置可以控制这一点,但尽管我可以找到控制文档大小的设置,但它们都比我试图邮寄的文件大!

有人见过这个,或者有什么想法去哪里看?

以下教程可能会涉及到您错过的内容:http://www.mssqltips.com/tip.asp?tip=1438

相关内容

  • 没有找到相关文章

最新更新