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

时间:2018-07-31 14:34:40

标签: sql-server tsql

我遇到以下错误:无法初始化错误编号为-2147467259的sqlcmd库 在查询以下运行时,我也尝试提供数据库名称,但一次又一次出现相同错误,这是行不通的。有人可以在这方面帮助我吗?

declare @subject_line varchar (200)
  declare @sql_query varchar (8000)
  set @subject_line=(select 'Find Highest - ' + convert 
  (varchar(25),getdate(),120))
  set @sql_query=(select 'select a.productname, a.groupid, c.productstatus, 
  releasedate from #tmpa a
  join #tmpb b on a.productname = b.productname and a.prodgroupseqnr = b.maxpg
  left join [Repository_PROD].[dbo].[Product_Info] c on a.productname = 
  c.product_EDP
  order by 1')

  EXEC msdb.dbo.sp_send_dbmail
  @recipients=N'abc@gmail.com',
  @subject= @subject_line,
  @body= 'Hi ,

  Please find attached output of given query .


  Regards,
  SQLDBA_TEAM
  ',
  @execute_query_database = 'Repository_PROD',
  @query_result_header = 1,
  @query= @sql_query,
  @profile_name ='SQLDBA',
  @query_result_width=6000,
  @query_result_separator ='    ',
  @query_no_truncate = 1,
  @query_result_no_padding = 1,
  @query_attachment_filename ='Find Highest.xls',
  @attach_query_result_as_file = 1 ;

2 个答案:

答案 0 :(得分:0)

我也面临着同样的问题。然后,我发现未在安全性的SQL Server登录文件夹中添加正在调用作业的用户。我在安全性->登录中添加了该用户。一切正常。

答案 1 :(得分:0)

使用数据库邮件时不能使用临时表。您还需要在正在访问的所有表中包含数据库名称,例如, FROM ' + DB_NAME() + '.dbo.TableName 使其可跨数据库移植。