Как использовать sp_send_dbmail для отправки содержимого столбца VARBINARY? - PullRequest
0 голосов
/ 14 октября 2008

У меня есть некоторые файлы, хранящиеся в таблице 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 байта). Казалось бы, это предполагает, что где-то есть настройка, которая управляет этим, но хотя я могу найти настройки, которые управляют размером документа, они намного больше, чем файл, который я пытаюсь отправить по почте!

Кто-нибудь видел это раньше, или есть идеи, где искать?

1 Ответ

1 голос
/ 14 октября 2008

Следующий урок может касаться того, что вы пропустили: http://www.mssqltips.com/tip.asp?tip=1438

...