【问题标题】:Execute SQL Task Failing执行 SQL 任务失败
【发布时间】:2014-06-09 08:19:50
【问题描述】:

我的执行 SQL 任务失败有这个问题。我正在尝试使用执行 sql 任务执行 sp。执行语句包含在我在包级别声明的变量 (exec [sp_name] par1, par2) 中。现在在 exec sql tak 中,我调用了这个变量。现在,当我尝试执行此任务时,它失败了,我得到以下信息:

[Execute SQL Task] Error: Executing the query "EXEC CTL_ISRT_A 55,1" failed with the following error: 
"Could not find stored procedure 'CTL_ISRT_A'.". Possible failure reasons: Problems with the query, 
"ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

数据库中有一个名为“CTL_ISRT_A”的存储过程,我可以从 SQL Server 执行它。这个 sp 在表中插入一个新行,它返回@@IDENTITY。基本上我需要在插入变量后存储一个整数值。

我尝试将结果集设置为“单行”并尝试将值分配给变量,但没有帮助。有人可以帮我吗?

提前致谢

【问题讨论】:

  • 组件配置有问题。您能否发布带有 SQL 任务中每个选项卡的屏幕,因为有几个错误可能会导致此错误。至于现在,您是否尝试使用“CTL_ISRT_A”的“dbo.CTL_ISRT_A”?
  • 我尝试在没有变量的情况下执行存储过程,但它仍然给我同样的错误。
  • 我的意思是 proc 名称之前的“dbo”。请注意,错误中有:EXEC CTL_ISRT_A 55,1,因此这意味着您的变量正在发送并且可以访问。问题在于过程名称或结果集。
  • 变量内部,sp名称前没有“dbo”。我需要添加吗?而且我确信 proc 名称是正确给出的。正如我之前所说,如果我取变量(EXEC CTL_ISRT_A 55,1)的值并在sql server中运行它,它就可以工作!在 exec sql 任务中,我使用 Variable 作为 SQLSourceType 并选择了我创建的这个变量。在结果集页面中,我选择了另一个变量来保存表中的标识(结果集名称是插入行的表中的列名)
  • 我已经上传了屏幕截图

标签: sql sql-server ssis


【解决方案1】:

我已经解决了这个问题。修改了存储过程代码,就开始工作了。

【讨论】:

    猜你喜欢
    • 2020-03-07
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-20
    • 2016-05-02
    • 2022-01-19
    • 2021-11-14
    • 2019-02-15
    相关资源
    最近更新 更多