2013-04-02 47 views
1

民間,SSIS 2005多個XML文檔

有沒有什麼辦法可以在一個'執行SQL任務'中返回兩個單獨的XML文檔?

1)創建一個存儲過程返回兩個單獨的XML文檔 2)配置「執行SQL任務」,因此它具有: - ADO.NET連接管理器, - 它調用存儲過程, - 它resultSet設置爲'XML', - 在'結果集'槓桿輸出映射到兩個單獨的字符串變量:例如: 結果名稱:0 - 變量名稱:firstVar, 結果名稱:1 - 變量名稱:secondVar;

這一切工作正常,如果我只有一個結果變量的「結果集」 - 它很好地返回被調用的存儲過程中的第一個XML並將其映射到變量。 當我添加第二個變量時,出現錯誤:

[執行SQL任務]錯誤:爲ResultSetType返回結果綁定的數量無效:「ResultSetType_XML」。

這可能實現這一項任務嗎? 預先感謝您。

回答

1

不是直接。正如MSDN指出:

  • The XML result set is used when the query returns a result set in an XML format. For example, this result set is used for a SELECT statement that includes a FOR XML clause.

If the Execute SQL task uses the Full result set result set and the query returns multiple rowsets, the task returns only the first rowset. If this rowset generates an error, the task reports the error. If other rowsets generate errors, the task does not report them.

正如你提到的,然而,你可以寫跑你的兩個查詢,存儲結果內部爲字符串,然後返回的結果爲OUTPUT參數的存儲過程。或者,當然,您可以構建兩個執行SQL任務。

+0

好的,謝謝。我決定將兩個任務包裝在一個序列容器中,並在其周圍進行交易。 – tom33pr