我有一些文件存储在 SQL Server 2005 表的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 字节)。这似乎表明某处有一个设置可以控制它,但是尽管我可以找到控制文档大小的设置,但它们都比我要邮寄的文件大得多!
任何人以前看过这个,或者有任何想法在哪里看?