1. 程式人生 > >3.9、BI之SSIS之Foreach-ADO列舉

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”(索引為列索引,

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檔案中