SQL 专家,
我使用 SQL Server 2000xp_smtp_sendmail
过程的 messagefile 参数来使用外部文本文件作为我的邮件正文。我们最近迁移到 SQL Server 2005 并且此参数不存在于sp_send_dbmail
.
在 SQL Server 2005 中是否有一种简单的方法可以做到这一点。
谢谢 !
SQL 专家,
我使用 SQL Server 2000xp_smtp_sendmail
过程的 messagefile 参数来使用外部文本文件作为我的邮件正文。我们最近迁移到 SQL Server 2005 并且此参数不存在于sp_send_dbmail
.
在 SQL Server 2005 中是否有一种简单的方法可以做到这一点。
谢谢 !
不,没有消息文件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 读取文件的一个很好的参考。
我希望这个能帮上忙