为什么在 SQL 服务器中尝试发送电子邮件时出现错误 -2147467259

Why do I get error -2147467259 when trying to send an email in SQL Server

我正在尝试发送一封包含 SQL 服务器内部存储过程调用结果的电子邮件。

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, Level 16, State 1, Line 23 Failed to initialize sqlcmd library with error number -2147467259 error.

当我在 SQL 服务器中发送测试电子邮件时,它发送正常。即使只是将 @querytext 设置为 "select * from [Table]" 也不起作用。我在其他地方看到,包括 @query_result_header=1 可以清除此类问题,但在这里似乎没有什么不同。

如有任何帮助,我们将不胜感激。

谢谢

最后,出于某种原因,我尝试仅使用以下参数:

  • @profile_name
  • @收件人
  • @body
  • @subject
  • @body_format
  • @execute_query_database

现在可以了。谢谢大家的帮助。 :)