2

SQL 专家,

我使用 SQL Server 2000xp_smtp_sendmail过程的 messagefile 参数来使用外部文本文件作为我的邮件正文。我们最近迁移到 SQL Server 2005 并且此参数不存在于sp_send_dbmail.

在 SQL Server 2005 中是否有一种简单的方法可以做到这一点。

谢谢 !

4

1 回答 1

1

不,没有消息文件sp_send_dbmail

我一直在阅读有关该主题的一些文章,并且您有一些选择。使用 CLR 函数获取文件以读取和写入文本文件,然后将返回值放入邮件正文中。然后是这样的:

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

EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'something',
@recipients = 'someuser@somemail.com',
@body = @text,
@subject = 'Hello my friend' ;

或者您可以使用OPENROWSET并在 varchar 中加载文件(更多信息在这里):

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 = 'someuser@somemail.com',
@body = @LotsOfText,
@subject = 'Hello my friend' ;

Text Files 的 TSQL是 sql 读取文件的一个很好的参考。

我希望这个能帮上忙

于 2012-04-08T23:48:15.397 回答