3

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を指定しているにもかかわらず、ファイルのサイズが切り捨てられていると思います。

データベースメール設定で最大許容メッセージサイズを確認しましたが、現在104857600バイト(100mb)であり、送信しようとしているファイルはこのサイズにほど遠いので、少し戸惑っています。

4

2 に答える 2

0

パラメータを1に設定してみてください@query_no_truncate。クエリで大きな可変長データ型が使用され、このオプションが0の場合、または指定されていない場合、データは256文字にカットされます。参照: http: //msdn.microsoft.com/en-us/library/ms190307.aspx

于 2012-10-18T10:47:29.817 に答える
0

これが古いスレッドであることは知っていますが、同じ問題に遭遇したばかりです。問題は、SQLがエラーを報告し、添付ファイルにエラーメッセージを保存していることです。

添付ファイルの名前を変更して.txt拡張子を付け、メールを送信します。ファイルを開き、.txtエラーを表示します。おそらく、セキュリティ構成ではそうなるでしょう。

于 2015-06-16T22:28:52.747 に答える