3.9、BI之SSIS之Foreach-ADO列舉
BI之SSIS之Foreach-ADO列舉
1 獲取查詢結果集
1.1 建立變數dtSalesPerson,型別Object
1.2 新建OLEDB連線-》連線到“AdventureWorks2008”資料庫
1.3 拖入“執行SQL任務”控制元件-》開啟
1.3.1 常規-》Connection“LocalHost.AdventureWorks2008.sa”-》SQLStatement“select top10 BusinessEntityID, SalesQuota, rowguid from Sales.SalesPerson order by 1 desc”-》ResultSet“完整結果集”
1.3.2 結果集-》新增-》變數名稱“User::dtSalesPerson”-》結果名稱“0”(結果集型別為完整結果集或XML,則必須使用 0 作為結果集名稱)
1.3.3 確定
2 遍歷該結果集
2.1 拖入Foreach控制元件,並將“執行SQL任務”的控制流指向Foreach控制元件-》開啟
2.1.1 集合-》Enumerator“Foreach ADO 列舉器”-》ADO物件源變數“dtSalesPerson”
2.1.2 變數對映
2.1.2.1 新建-》名稱“BusinessEntityID”-》型別“Int32”-》值“0”-》索引“0”(索引為列索引,
2.1.2.2 新建-》名稱“rowguid”-》型別“String”-》索引“2”
2.1.3 確定
3 在資料流中儲存該結果集
3.1 拖入資料流控制元件到Foreach控制元件中-》雙擊開啟資料流控制元件
3.1.1 拖入“OLEDB源”-》開啟
3.1.1.1 連線管理器-》OLEDB連線管理器“LocalHost.AdventureWorks2008.sa”-》資料訪問模式“SQL命令”-》SQL命令文字“select *from Sales.SalesPerson where BusinessEntityID=? and rowguid=?”-》引數(?為引數
3.1.1.1.1 引數0“BusinessEntityID”
3.1.1.1.2 引數1“rowguid”
3.1.1.2 列,選擇要輸出的列
3.1.1.3 確定
3.1.2 拖入“平面檔案目標”-》將“OLEDB源”的資料流指向“平面檔案目標”-》開啟
3.1.2.1 平面檔案連線管理器“新建”
3.1.2.1.1 選擇“帶分隔符”-》連線管理器名稱“txtSalesPersonConn”
3.1.2.1.2 常規-》點選“瀏覽”-》選擇儲存路徑-》檔名“txtSalesPerson”
3.1.2.1.3 列-》列分隔符“製表符 {t}”
3.1.2.1.4 確定
3.1.2.2 去掉“覆蓋檔案中的資料”的勾選
3.1.2.3 點選對映進行對映
3.1.2.4 確定
3.2 右鍵包執行-》全綠則成功-》開啟相應的檔案進行檢視,Foreach枚舉出的變數查詢到相應的資料後倒入到了txt檔案中