初始化错误编号为-2147024809的sqlcmd库失败

时间:2019-04-09 10:37:45

标签: sql-server

我用超级管理员创建了一个新的电子邮件配置文件,并配置了smtp。

然后当我执行此查询时:

   exec msdb.dbo.sp_send_dbmail
   @profile_name ='admin_mail',
   @recipients = 'rahma.marref@sovac.dz',
   @execute_query_database = 'DashboardPowerBi',
   @query = 'select top 20 from Client_1',
   @subject= 'Liste des clients',
   @body_format ='HTML',
   @attach_query_result_as_file = 1;

我收到此错误:

无法初始化错误编号为-2147024809的sqlcmd库

你能帮我吗?

5 个答案:

答案 0 :(得分:2)

最近我有一个与此相关的问题,这里的解决方案是完全限定DATABASE + SCHEMA_NAME + TABLE_NAME(“从sales..sales_month中选择*”),即使您位于同一数据库中。

致谢!

答案 1 :(得分:1)

好,查询不正确。您需要指定要选择的列

@query = 'select top 20 * from Client_1',

而不是使用'*',而是实际列出所需的列。

答案 2 :(得分:1)

就我而言,在测试查询并封装在字符串中之后,我忘记了更新...

'' AS Blank

'''' AS Blank

答案 3 :(得分:0)

我也有此错误消息。结果是我没有在查询中完全限定数据库表。 database.schema.tablename我只有表名。

在搜索时,其他人遇到此错误,因为文件附件太大。 您可以在SSMS-管理-数据库邮件中更改它

答案 4 :(得分:0)

问题在于 @qry 中的直接传递查询。

尝试在全局临时表 (##Temp) 中插入要附加的记录,并尝试使用具有指定列名的选择脚本。喜欢下面

DECLARE @qry varchar(8000) = 'SET NOCOUNT ON
SELECT 
Column1,
Column2
From ##TEMPEMAIL
    SET NOCOUNT OFF'