VARBINARY(MAX)
SQL Server 2005 テーブルの列にいくつかのファイルを格納しています。これらのファイルをスケジュールに従ってユーザーにメールで送信する必要があります。メールを抽出して送信する 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 バイト) が取得されます。これは、これを制御する設定がどこかにあることを示唆しているように見えますが、ドキュメントのサイズを制御する設定を見つけることはできますが、メールしようとしているファイルよりもずっと大きいです!
誰もこれを以前に見たことがありますか、またはどこを見るべきか考えがありますか?