2014-09-04 46 views
1

我有一個數據庫與我想要在一個.dtsx包中導入的約10個不同的表。我可以導入1個單獨的表沒有問題,我的問題是我無法弄清楚如何設置它迭代表。我知道這將是一個foreach循環,但哪種類型,以及如何指定表?有人可以幫助嗎?SSIS來迭代訪問表

編輯---- 我正在導入帶有數據流任務的單個表。進入Ole DB源到Ole數據庫目標。 (從Microsoft Access到SQL Server)

編輯#2 ------ 如何設置我的SQL語句以從多個表中提取數據?我想這是在SQL語句會去 enter image description here

+0

如何導入1表?使用數據流或對象副本? – 2014-09-04 13:22:00

+0

是 - 數據流任務。現在編輯初始文章。 – MasterOfStupidQuestions 2014-09-04 13:26:11

+0

10張桌子有相同的結構嗎? – Shriike 2014-09-04 13:37:37

回答

0

未經檢驗的,但你可以試試這個:

  1. 使用執行SQL任務來填充數據集要10代表的列表進口。如果表名是不變的,執行SQL可以簡單:

    選擇 '表1' AS表名 UNION ALL SELECT '表2' UNION ALL ...

  2. foreach循環通過該數據集,在您的數據流中填充您在OLEDB源的SQL查詢中使用的@sql變量。 @sql變量包含您的整個SQL選擇,從您正在循環的數據集中選擇表名。在您的OLEDB源中,爲數據訪問模式選擇「來自變量的SQL命令」選項。

+0

如何迭代訪問數據庫中的表以創建數據集? – MasterOfStupidQuestions 2014-09-04 13:49:55

+0

您不迭代表格,您迭代表名稱。您的OLEDB源必須使用查詢,而不是表格。 – 2014-09-04 13:52:29

+0

更接近 - 但仍然有點困惑。看到我的第二次編輯。 – MasterOfStupidQuestions 2014-09-04 13:55:48