2
SQL专家,Messagefile参数的SQL Server2005分之2000
我使用SQL Server的messagefile参数2000 xp_smtp_sendmail
程序来使用外部文本文件按我的邮件的机构。我们最近迁移到SQL Server 2005,并且此参数在sp_send_dbmail
中不存在。
有没有简单的方法可以在SQL Server 2005中做同样的事情。
谢谢!
SQL专家,Messagefile参数的SQL Server2005分之2000
我使用SQL Server的messagefile参数2000 xp_smtp_sendmail
程序来使用外部文本文件按我的邮件的机构。我们最近迁移到SQL Server 2005,并且此参数在sp_send_dbmail
中不存在。
有没有简单的方法可以在SQL Server 2005中做同样的事情。
谢谢!
否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读取文件一个很好的参考。
我希望这会有所帮助
Arion,我用OPENROWSET替代方案,我可以说它工作顺利。我甚至可以通过用SINGLE_CLOB替换SINGLE_BLOB来导入'htm'文件。我的电子邮件正文现在加载了我想要的内容。太棒了......并再次感谢! – user1320877 2012-04-11 10:29:59
没问题。很高兴帮助..也许你可以接受答案,然后记住要认真回答你认为是好的答案。这给了我们一种温暖的模糊感觉:P – Arion 2012-04-11 10:33:06