2012-10-18 25 views
1

我正在嘗試使用sp_send_dbmail發送附件。 附件存儲在表格中的varbinary(MAX)列中。這是我的查詢:具有二進制附件的sp_send_dbmail問題

EXEC msdb.dbo.sp_send_dbmail 
     @recipients='[email protected]', 
     @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。

我已經檢查了數據庫郵件設置中允許的最大郵件大小,它目前是104857600字節(100mb),我試圖發送的文件遠不及此大小 - 所以我有點困惑。

回答

0

我知道這是一個古老的線程,但我剛剛遇到同樣的問題。問題是SQL報告了錯誤,並將錯誤消息存儲在附件中。

更改附件的名稱使其具有.txt擴展名併發送電子郵件。打開.txt文件並查看錯誤。這可能是安全配置的一些情況。