2017-01-30 126 views
2

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

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

我得到的错误是:

Executing the query "EXEC [dbo].[proc_GetQuarterlyEmailId] @employeeNu..." failed with the following error: "Could not find stored procedure ''.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

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

回答

3

尝试执行SP没有列出的参数:

EXEC proc_GetQuarterlyEmailId ?, ?, ?, ? 

我一直使用的语法是这样的...而且永远不会有问题......

如果程序返回一些行,当参数提供的,那么你必须改变属性“Reslut集”到tomenthing不是“无”,否则...参数


映射不同,其上的连线类型所使用。 如果您使用的是OLE DB,则必须使用问号标记参数,正如我昨天提到的那样。并且为了在“参数名称”列中映射,您必须使用数字0,1,2,... 我附加了“Result Set”=“None”的样本图片,因为我有一个SP不会返回eny结果集。

General Tab Parameter Mapping Tab

检查也是这个链接:https://msdn.microsoft.com/en-us/library/ms140355(v=sql.105).aspx

+0

感谢您的回答!但我试过了,它仍然给我同样的错误。结果集被设置为“单行”,因为这是我在SP工作时得到的结果。 – rycekrispies

+0

您是否在使用“执行SQL任务”转换?如果是这样,你可以添加“参数映射”和“结果集”设置的屏幕截图,因为这些都导致我在过去的问题 – MiguelH

+0

参数映射不同,你正在使用哪种连接类型。 –

相关问题