我用超级管理员创建了一个新的电子邮件配置文件,并配置了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库
你能帮我吗?
答案 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'