1

我正在尝试创建一个基于循环中运行的存储过程的返回值循环的 SSIS 包。我不断收到一个超级无用的错误:

“错误:0xC002F210 在加载顺序,执行 SQL 任务:执行查询”执行?= [Load_Focus_OrderNum] ?, 1" 失败并出现以下错误:
“值不在预期范围内。”。
可能的失败原因:
查询问题、“ResultSet”属性设置不正确、参数设置不正确或连接未正确建立。
任务失败:加载订单”

这是我的设置:

在此处输入图像描述

Load Order 存储过程一次加载一个包含 500 个订单的表,然后返回最后一个订单号(我已确认它正确返回)。

DECLARE @spOut int
EXEC @spOut = Load_Focus_OrderNum 1, 1
PRINT @spOut

按预期返回 638

然后我希望它从下一个订单开始处理下一个 500。

我正在调用我的存储过程:

EXEC ? = sp_LoadOrders ?, 1

程序片段:

ALTER PROCEDURE [dbo].[LoadOrders] 
    (@PK_ID INT, @OrdType INT)
AS
     -- Loads OrderNumTbl table
    RETURN (SELECT TOP 1 ID FROM OrderNumTbl ORDER BY ID DESC)
GO

我的参数映射是:

在此处输入图像描述

我对循环的表达是:

在此处输入图像描述

我错过了什么?任何帮助表示赞赏!

4

1 回答 1

1

在参数映射部分,将参数名称值替换为参数索引>>替换@OrderID0@T1_ID1

参考

于 2019-02-06T05:43:39.540 回答