Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 Messagefile参数SQL Server 2000/2005_Sql Server 2005 - Fatal编程技术网

Sql server 2005 Messagefile参数SQL Server 2000/2005

Sql server 2005 Messagefile参数SQL Server 2000/2005,sql-server-2005,Sql Server 2005,SQL专家 我使用SQL Server 2000xp\u smtp\u sendmail过程的messagefile参数将外部文本文件用作邮件正文。我们最近迁移到了SQL Server 2005,该参数在sp\u send\u dbmail中不存在 在SQLServer2005中,有没有一种简单的方法可以做到这一点 谢谢 否sp\u send\u dbmail中没有消息文件 我一直在读一些关于这个主题的文章,我想你有一些选择。用a获取文件,然后将回执放入邮件正文中。然后像这样: DECLARE

SQL专家

我使用SQL Server 2000
xp\u smtp\u sendmail
过程的messagefile参数将外部文本文件用作邮件正文。我们最近迁移到了SQL Server 2005,该参数在
sp\u send\u dbmail
中不存在

在SQLServer2005中,有没有一种简单的方法可以做到这一点


谢谢

sp\u send\u dbmail
中没有消息文件

我一直在读一些关于这个主题的文章,我想你有一些选择。用a获取文件,然后将回执放入邮件正文中。然后像这样:

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中(更多信息):

是在sql中读取文件的良好参考


我希望这会有所帮助

Arion,我使用了OPENROWSET替代方案,我可以说它工作得很顺利。我甚至可以通过用SINGLE_CLOB替换SINGLE_BLOB来导入'htm'文件。我的邮件正文现在已经装满了我想要的东西。伟大的再次感谢!没问题。很乐意帮忙。。也许你可以接受答案?。。记住对你认为好的答案投赞成票。这给了我们一种温暖模糊的感觉:P
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' ;