执行SSIS包时,会出现以下错误:
[OLE DB Source [83]]错误:SQL命令需要一个名为的参数 " @ Sales_person",在参数映射中找不到。
[SSIS.Pipeline]错误:OLE DB源未执行预执行阶段和 返回错误代码0xC0207014。
我确实在Set Query参数中看到Param direction选项卡,该怎么用?在我的情况下,我将使用Input
或Output
或InputOutput
答案 0 :(得分:2)
搜索后,我没有找到适用于我的这个问题的解决方案。很多建议就像在执行命令之前添加SET NOCOUNT ON
一样。下面是一些相关链接:
您可以解决方法
声明一个SSIS变量(假设为@[User::Query]
)
设置@[User::Query]
属性EvaluateAsExpression
= True并使用以下表达式
"EXEC [dbo].[GetDales_Person_data] " + @[User::Sales]
如果@[User::Sales]
是字符串,请使用以下
"EXEC [dbo].[GetDales_Person_data] '" + @[User::Sales] + "'"
然后在OLEDB Source
中使用SQL Command from variable
并选择@[User::Query]
答案 1 :(得分:0)
答案 2 :(得分:0)
直接将参数映射到EXEC语句中似乎存在问题。
解决这个问题的一种方法是使用:
DECLARE @SalesPerson int = ? -- or whatever datatype
EXEC [dbo].[GetSales_Person_Data] @SalesPerson