我想製作一個只能在表格不爲空的情況下從表中複製數據的包。我知道如何計數以及如何製作一個用於複製數據的包,但問題是Source無法輸入任何內容,所以我不知道如何去做。有什麼建議麼?SSIS複製表如果不爲空
回答
我不明白你的意見,關於拖拽一個「從包到源代碼的綠線」,而不是試圖提前確定表是否爲空,只要做你的副本,然後看看有多少行復制:
- 的行數
- 創建一個包變量使用的行數轉換
- 使用an expression in the precedence constraint檢查變量填充變量:如果是大於零則繼續執行你的包的其餘部分
如果表格不是空的,我必須截斷destionation,否則保持原樣。我的意思是,它不可能使用例如條件拆分組件(它將檢查表是否爲空),將優先級約束從它拖到OLE DB源,從中選擇要複製的數據。 – 2012-02-07 12:44:36
這個作品,謝謝! – 2012-02-07 13:01:50
@Pondlife我不認爲你可以在數據流任務上使用優先約束,你能嗎? 我相信你只能在控制流程中使用它。
我會添加一個「執行SQL任務」計數,發送結果到一個變量,並從這個任務,我會拖動綠色箭頭到數據流任務,使複製和在這個箭頭上,我會添加優先約束上的表達式。
你對優先約束是正確的,但它並不重要:一旦你在變量中有rowcount,你可以在任何可以在數據或控制流中使用變量的地方使用它。你的建議與我的建議可能略有不同。 – Pondlife 2012-02-07 13:24:40
正如您已經正確指出的那樣,數據流源不接受輸入,因此無法在數據流中執行邏輯來確定是否應該運行此任務。
Cannot create connector.
The destination component does not have any available inputs for use in creating a path.
但是,沒有什麼能夠阻止您在控制流程中設置此邏輯。我會使用一個查詢,在目標系統上點擊DMVs for a fast rowcount,只過濾我希望複製的表。
有了空表的列表,它可能取決於我如何處理它。對於少數表格,我將N個數據流定義爲一個無作用的腳本任務作爲先例,然後在表名稱上使用一個表達式來啓用路徑,就像我在這個question上做的一樣。
如果有許多表,我會爲每個表定義一個包,然後根據空表名稱動態構建包名來調用執行包任務。
- 1. SSIS複製多個表
- 2. 列表不復制(空)
- 3. Google表格如果值爲X,則複製行。刪除空白空格。
- 4. 複製使用SSIS
- 5. SSIS MySQL複製表到SQL Server
- 6. 使用SSIS包複製多個表
- 7. SSIS:從MySQL複製表到SQL Server 2008
- 8. 如果單元格爲空時如何複製行?
- 9. Kotlin設置爲空如果不爲空
- 10. Python如果列表爲空
- 11. 如果聲明覆制單元格,如果它們不是空白,請不要複製
- 12. 如何控制,如果查詢的結果爲空或空
- 13. 取日期爲空,如果空表
- 14. 如果接收Bean映射字段爲空,則Dozer僅複製
- 15. Mysql JoinInner如果不爲空
- 16. 如果數不爲空
- 17. Kotlin如果不爲空
- 18. 不羣,如果值爲空
- 19. SQL如果不爲空
- 20. 使用SSIS複製數據
- 21. 如何使用SSIS複製默認值?
- 22. Excel如果單元格不是空白,將行復制到工作表2
- 23. 如果循環輸出文件不爲空,則複製最後一行bash
- 24. rails如果爲空然後沒有重複查詢關聯表
- 25. [R如何複製空值在列表
- 26. SSIS ISNULL爲空字符串
- 27. 如果表結果不爲空,SQL查詢連接
- 28. 複製行從表一表B如果鍵不存在
- 29. 如果edittext留空,強制爲「0」
- 30. PHP的MySQL,如果行是空的,如果不爲空
來源不能有任何輸入? – joshua 2012-02-07 11:25:51
我想說,你不能將綠線從包裝拖動到源...或者我錯了,我錯過了什麼? – 2012-02-07 11:38:29