Следующий учебник может касаться того, что вы пропустили: http://www.mssqltips.com/tip.asp?tip=1438
У меня есть некоторые файлы, хранящиеся в таблице 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 байта). Это, по-видимому, указывает на то, что где-то есть параметр, который контролирует это, но, хотя я могу найти настройки, которые управляют размером документа, они все больше, чем файл, который я пытаюсь отправить по почте!
Кто-нибудь видел это раньше, или есть идеи, где искать?
sql-server-2005,sp-send-dbmail,