2012-04-08 3 views
2

,Messagefile экспертов SQL параметра SQL Server 2000/2005

Я использовал параметр messagefile в SQL Server 2000 xp_smtp_sendmail процедуры для использования внешних текстовых файлов тел моих писем. Недавно мы перенесли на SQL Server 2005, и этот параметр отсутствует в sp_send_dbmail.

Есть простой способ сделать то же самое в SQL Server 2005.

Спасибо!

ответ

1

Нет файла в sp_send_dbmail.

Я читал несколько статей о предмете, и у меня есть для вас какой-то вариант. Получив файл с CLR function to Read and Write Text Files, а затем верните его в тело письма. Потом что-то вроде этого:

DECLARE @text VARCHAR(MAX) 
EXEC @text=ReadTextFile 'C:\YourFile.txt' 

EXEC msdb.dbo.sp_send_dbmail 
@profile_name = 'something', 
@recipients = '[email protected]', 
@body = @text, 
@subject = 'Hello my friend' ; 

Или вы можете использовать OPENROWSET и загрузить файл в VARCHAR (больше информации here):

DECLARE @LotsOfText VARCHAR(MAX) 
SELECT @LotsOfText = BulkColumn 
FROM OPENROWSET(BULK 'C:\YourFile.txt', SINGLE_BLOB) AS x 

EXEC msdb.dbo.sp_send_dbmail 
@profile_name = 'something', 
@recipients = '[email protected]', 
@body = @LotsOfText, 
@subject = 'Hello my friend' ; 

The TSQL of Text Files является хорошим справочником для чтения файла в SQL.

Я надеюсь, что это поможет

+0

Arion, я использовал альтернативу OPENROWSET, и могу сказать, что она работает плавно. Я даже смог импортировать файлы «htm», заменив SINGLE_BLOB на SINGLE_CLOB. Мои тела электронной почты теперь загружены тем, что я хотел. Отлично ... и еще раз спасибо! – user1320877

+0

Нет проблем. Рад помочь .. Может быть, вы можете принять ответ тогда? .. и не забудьте перенести ответ, который, по вашему мнению, хорош. Это дает нам все теплое нечеткое чувство: P – Arion

Смежные вопросы