在SSIS(sql server 2008)中,我有一个调用我的存储过程的Sql任务。 存储过程获取1个输入参数并返回2个输出参数。 这是我SP的原型:
声明spGetPersonDetails(personid int,@ orders xml输出,@ names xml输出) 作为.....
问题是在我的iis中的sql任务中,我声明了这3个参数。一个输入和两个输出,当它运行时,只有一个输出参数从sp。
获得一个值有什么想法吗?
感谢。
答案 0 :(得分:1)
我尝试使用示例存储过程重新创建它。
存储过程
CREATE PROCEDURE [dbo].[TestProcedure]
-- Add the parameters for the stored procedure here
@Input INT,
@Output1 INT OUTPUT,
@Output2 INT OUTPUT
AS
BEGIN
SET @Output1 = @Input + 1
SET @Output2 = @Input + 2
END
然后在SQL任务(我使用OLE DB源)上,我将sql语句设置为
EXEC dbo.TestProcedure @Input = ?, @Output1 = ? OUTPUT, @Output2 = ? OUTPUT
最后,所需要的只是有效的参数映射,确保准确设置“方向”列。
我从两个网站获得了大部分信息:
http://blogs.msdn.com/b/mattm/archive/2006/11/08/stored-procedures-with-output-parameters.aspx
http://www.julian-kuiters.id.au/article.php/ssis-execute-sql-task-output-parameters
我希望这会对您有所帮助,如果您有关于此SQL任务所设置的特定值的更多信息,我将很乐意更新我的答案。