2012-04-08 70 views
2

SQL專家,Messagefile參數的SQL Server2005分之2000

我使用SQL Server的messagefile參數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替代方案,我可以說它工作順利。我甚至可以通過用SINGLE_CLOB替換SINGLE_BLOB來導入'htm'文件。我的電子郵件正文現在加載了我想要的內容。太棒了......並再次感謝! – user1320877 2012-04-11 10:29:59

+0

沒問題。很高興幫助..也許你可以接受答案,然後記住要認真回答你認爲是好的答案。這給了我們一種溫暖的模糊感覺:P – Arion 2012-04-11 10:33:06