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

ryc*_*ies 5 ssis stored-procedures

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

    EXEC [dbo].[proc_GetQuarterlyEmailId] 
    @employeeNumber = ?, 
    @employeeFirstName = ?, 
    @employeeLastName = ?, 
    @employeeEmail = ?
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

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

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

Žig*_*ajs 5

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

EXEC proc_GetQuarterlyEmailId ?, ?, ?, ?
Run Code Online (Sandbox Code Playgroud)

我总是使用这样的语法...并且从未遇到过问题...

如果在提供参数时过程返回一些行,那么您必须将属性“Reslut Set”更改为除“None”之外的其他内容...


参数映射因您使用的连接类型而异。如果您使用 OLE DB,则必须使用问号作为参数,正如我昨天提到的。对于“参数名称”列中的映射,您必须使用数字 0、1、2...我附加了“结果集”=“无”的示例图片,因为我有一个不返回任何结果集的 SP 。

常规选项卡 参数映射选项卡

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