2012-02-16 67 views
1

在SSIS(sql server 2008)中我有一個Sql任務正在調用我的存儲過程。 存儲過程獲取1個輸入參數並返回2個輸出參數。 這是我的SP的原型:SSIS返回幾個輸出xml參數

聲明spGetPersonDetails(PERSONID INT,@orders XML輸出,@names XML輸出) 作爲.....

的問題是,在IIS我的SQL任務,我宣佈了這3個參數。一個輸入和兩個輸出,當它運行時,只有一個輸出參數從sp獲得一個值。

有什麼想法?

謝謝。

回答

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任務設置的特定值的詳細信息我會很樂意更新我的答案。

+0

完美!謝謝。 – 2012-02-17 08:55:54