0
我有兩個嵌套的foreach循環容器。每個循環都使用不同的結果集。我有一個腳本任務,在內部的foreach循環容器中,我需要能夠獲取兩個循環當前行的值。一種做法是在兩個循環中使用變量映射,但是有沒有辦法從腳本中訪問當前行?有任何想法嗎?SSIS - 如何訪問包含在Foreach循環容器中的腳本任務中的結果集數據?
我有兩個嵌套的foreach循環容器。每個循環都使用不同的結果集。我有一個腳本任務,在內部的foreach循環容器中,我需要能夠獲取兩個循環當前行的值。一種做法是在兩個循環中使用變量映射,但是有沒有辦法從腳本中訪問當前行?有任何想法嗎?SSIS - 如何訪問包含在Foreach循環容器中的腳本任務中的結果集數據?
您可以通過Dts
對象的Variables
財產,如果你在腳本任務編輯器添加此變量ReadOnlyVariables
或ReadWriteVariables
列表訪問腳本任務循環容器映射變量。
將每個循環的當前行映射到變量,然後在腳本任務中訪問這些變量。這不夠嗎?
例子:
string fileName = (string) Dts.Variables["FileName"].Value;
你可以在這裏閱讀更多:http://msdn.microsoft.com/en-us/library/ms135941.aspx
更新:
您可以一次全行映射到變量。使用Object
作爲變量類型,並在Foreach循環的變量映射中設置Index = -1
。您應該接收枚舉數,該枚舉類型與枚舉集合有關。
Piotr,謝謝。我知道這種方法(變量映射),但我想知道是否有任何其他方式沒有創建和映射如此多的變量(當然取決於數據集中的列數)。 – user1634332
@ user1634332請閱讀更新。希望能幫助到你。 –