使用来自存储过程的 Return 值的 SSIS 循环
SSIS Looping with Return Value from Stored Procedure
我正在尝试创建一个基于循环中存储过程 运行 的 return 值循环的 SSIS 包。我一直收到超级无用的错误:
"Error: 0xC002F210 at Load Order, Execute SQL Task: Executing the query "EXEC ? = [Load_Focus_OrderNum] ?, 1" failed with the following error:
"Value does not fall within the expected range.".
Possible failure reasons:
Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Task failed: Load Order"
这是我的设置:
Load Order 存储过程一次加载一个包含 500 个订单的 table,然后最后一个订单号是 returned(我已经确认 returns 正确)。
DECLARE @spOut int
EXEC @spOut = Load_Focus_OrderNum 1, 1
PRINT @spOut
Returns 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
我的参数映射是:
我的循环表达式是:
我错过了什么?感谢您的帮助!
在参数映射部分,将参数名称值替换为参数索引>>将@OrderID
替换为0
,将@T1_ID
替换为1
参考资料
我正在尝试创建一个基于循环中存储过程 运行 的 return 值循环的 SSIS 包。我一直收到超级无用的错误:
"Error: 0xC002F210 at Load Order, Execute SQL Task: Executing the query "EXEC ? = [Load_Focus_OrderNum] ?, 1" failed with the following error:
"Value does not fall within the expected range.".
Possible failure reasons:
Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
Task failed: Load Order"
这是我的设置:
Load Order 存储过程一次加载一个包含 500 个订单的 table,然后最后一个订单号是 returned(我已经确认 returns 正确)。
DECLARE @spOut int
EXEC @spOut = Load_Focus_OrderNum 1, 1
PRINT @spOut
Returns 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
我的参数映射是:
我的循环表达式是:
我错过了什么?感谢您的帮助!
在参数映射部分,将参数名称值替换为参数索引>>将@OrderID
替换为0
,将@T1_ID
替换为1
参考资料