使用sql任务将参数传递给存储过程

时间:2017-01-30 13:51:13

标签: stored-procedures ssis

我试图将变量传递给我设置的存储过程,我将它们映射到参数映射选项卡中。我想我的语法可能不正确但我无法找到解决方案。

    EXEC [dbo].[proc_GetQuarterlyEmailId] 
    @employeeNumber = ?, 
    @employeeFirstName = ?, 
    @employeeLastName = ?, 
    @employeeEmail = ?

我得到的错误是:

  

执行查询" EXEC [dbo]。[proc_GetQuarterlyEmailId] @employeeNu ..."失败并出现以下错误:"无法找到存储过程''。"。可能的失败原因:查询问题," ResultSet"属性设置不正确,参数设置不正确或连接未正确建立。

如果我从存储过程中删除参数并删除参数映射它运行完全正常,所以我知道它可以找到它。我正在使用ADO.NET连接。

2 个答案:

答案 0 :(得分:3)

尝试在没有列出参数的情况下执行SP:

app.filter('test', function() {
  return function(items) {
    var filtered = [];

    angular.forEach(items, function(el) {
      if(el.modifiedBy && el.modifiedOn) {
        el.createdBy = el.modifiedBy;
        el.createdOn = el.modifiedOn;
      }
    });
    for(var i = 1; i < items.length; ){
      if(items[i-1].createdBy == items[i].createdBy){
        items.splice(i, 1);
      } else {
        i++;
      }
    }
    return items;
  }
});

我总是使用这样的语法......从来没有遇到过问题......

如果在提供参数时过程返回某些行,则必须更改属性&#34; Reslut Set&#34;除了&#34;没有&#34; ...

以外的其他东西

参数的映射因您使用的连接类型而异。 如果你使用OLE DB,你必须使用问号作为参数,正如我昨天提到的。并且用于映射&#34;参数名称&#34;列你必须使用数字0,1,2,... 我正在为#34;结果集&#34;附加样本照片。 =&#34;无&#34;,因为我有一个不返回eny结果集的SP。

General Tab Parameter Mapping Tab

同时检查此链接:https://msdn.microsoft.com/en-us/library/ms140355(v=sql.105).aspx

答案 1 :(得分:0)

此外,BypassPrepare可能为FALSE,否则会出现令人困惑的“参数设置不正确”错误。我习惯性地将其设置为TRUE。