我想发送一封包含SQL Server内部存储过程调用结果的电子邮件。
declare @querytext nvarchar(100)
set @querytext = 'sp_get_SPresults @item_name = ''Name of Group'''';
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'My Email',
@recipients = 'anaddress@adomain.com',
@body = 'Email',
@subject = 'Suitable Subject' ,
@query = @querytext,
@attach_query_result_as_file = 1,
@query_result_header = 1,
@query_no_truncate = 1;
但是当我运行这个时,我得到一个
Msg 22050, 16层,状态1,23行初始化sqlcmd库失败,错误号为-2147467259。
当我在SQL Server中发送测试电子邮件时,它发送得很好。即使把@querytext
设为"select * from [Table]"
也不行。我在其他地方看到,包括@query_result_header=1
可以清除这种问题,但在这里似乎没有什么不同。
如有任何帮助,不胜感激。
感谢最后,无论出于何种原因,我尝试使用以下参数:
- @profile_name
- @recipients
- @body
- @subject
- @body_format
- @execute_query_database
现在可以工作了。谢谢大家的帮助。:)