大家好我每次使用sqlserverdatatools 2014來開發我的ssis包在這裏我卡在場景 我有一個包它有4個數據流它應該運行在下面的循環 1,2,3,4 2,3,4 3,4 1,2,3,4 4 所有的數據流都在更新相同的數據庫,但由於某些商業計算軟件包應該在邏輯上運行,請幫助我如何實現這一點 在此先感謝 R 哈里克里什SSIS包循環運行在相同的數據庫相同的包中
0
A
回答
0
這是一個解決方案。
- 1.增加SQL表達式
- 連接到設置爲結果集
- 輸入以下SQL任何DB
- 變化結果:SELECT * FROM(值(1),(2),(3),(4),(5)),其爲(NUMS)
- 保存結果到ADO對象
- 添加foreach循環
- 集合是一個ADO .net對象
- 它設置爲您ADO對象
- 添加的表達式(放1 = 1到剛剛驗證
- 添加您4個數據流
- 連接到DF1
- 添加表達式,以流動@num < 2 || @ NUM == 5
- 照此除了改變表達@num < 3 || @ NUM == 5
最終的結果將是5個環路在每個環路進行處理,以下DF:
第一:1-4
第二:2-4
第三:3-4
第四:4
5:1-4
0
這裏是你需要做什麼 -
- 創建一個表,並說明dbo.DataFlowOrder與列Id int並插入值(1,2,3,4 2,3,4,3,4,4,1,2,3,4)
- 創建以下變量 - intDataFlowOrderId,objDataFlowOrderIdList,strSQLGetDataFlowOrderIdList
如下設置strSQLGetDataFlowOrderIdList的價值 - 從dbo.DataFlowOrder
將
選擇ID '執行SQL任務'。將'ResultSet'屬性設置爲'Full Result Set','SQL Source Type'爲'Variable'。給予適當的連接並將「源變量」設置爲strDataFlowOrderIdList。在「結果集」下點擊「添加」。將「結果名稱」設置爲0,將「變量名稱」設置爲objDataFlowOrderIdList。
- 拖動'Foreach Loop'容器並將其連接到上述任務的輸出。將'Enumerator'設置爲'Foreach ADO enumerator'並將enumaration變量設置爲'objDataFlowOrderIdList'。在'變量映射'選項卡中,將變量設置爲'intDataFlowOrderId'
- 在'Foreach Loop'容器中,拖動'執行SQL任務'並將其重命名爲'SQL - DFT協調器'。設置適當的連接值並將SQLStatement設置爲「select 1」。
- 將所有4個DFT拖入其中。連接上述任務的輸出,即連接所有4個DFT。
- 在每個「優先約束」連接器中,將「評估操作」設置爲「表達式和約束」。 '優先約束'只不過是綠線,即您在任務與任務之間連接的輸出。對於第一個DFT,將'Expression'設置爲'@ [User :: intDataFlowOrderId] == 1'(不帶引號)。重複同樣的過程的DFT的休息與適當的數量,即2,3,4等
+0
感謝您的回答讓我檢查一次! – krish
相關問題
- 1. 在不同的數據庫中運行相同的查詢
- 2. 計數包含相同值的行數
- 3. PHP Comapring數組包含相同的字符串,但不包括相同的行
- 4. 相同的SSIS包通過批處理文件並行執行不同參數
- 5. 多個庫中的相同R包
- 6. 基於for循環更新數據庫中的相同記錄
- 7. SSIS包 - 循環執行SQL任務的不同連接
- 8. SSIS包正在執行成功,雖然具有相同包的作業失敗
- 9. 相同FOR循環行爲不同(WinXP)
- 10. 在相同的運行時間運行兩個相同的DLL?
- 11. MYSQL - 計算包含相同數據的單行中的列
- 12. 在兩臺不同的服務器上同時運行SSIS包
- 13. 相同的查詢,相同的數據庫,不同的結果
- 14. For循環檢索相同的mysql行
- 15. 不同的key_len結果在相同的數據庫中(不同的環境)
- 16. 相同的查詢,不同的數據庫,相同的數據庫結構,相同的數據庫服務器,不同的執行計劃
- 17. 包裝在不同環境下使用的相同代碼
- 18. 我應該在不同的iFrames上包含相同的庫嗎?
- 19. 相同的類不同的包和JAXB
- 20. 相同的包,不同的目錄
- 21. SSIS並行執行取決於一個參數的相同程序包
- 22. 數據庫中許多相關數據的相同數據
- 23. 在幾個數據庫上運行相同的複製腳本
- 24. MySQL:插入完全相同的數據多行無PHP循環
- 25. 包含HashMap包含相同的key
- 26. 有沒有辦法在Tornado(Python)的相同循環中進行數據包的輸入和輸出?
- 27. 如何檢查兩行是否相同並且在行列表中包含相同的數據
- 28. 運行SSIS包
- 29. 基於數據庫表中的標誌運行SSIS包
- 30. NodeJS運行所有包含在相同的範圍/上下文
您的循環邏輯不清楚。這些數字是什麼?他們是數據流任務號碼,如DFT1,DFT2等? – VKarthik
你好Karthik,是的這些都是數據流任務DFT1,DFT2,DFT3,DFT4 – krish
我不確定這是否是最好的方式,但它應該像這樣工作:您可以使用Foreach循環來遍歷包含數組你的號碼:[1,2,3,4,2,3,4,3,4,4,1,2,3,4]。你應該使用Foreach Item Enummerator。在您的Foreach循環中,您可以使用數據流的Skript任務,這將根據迭代的當前變量執行數據流。 – eztam