<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SSIS中的容器和數據流—簡單介紹

      容器

      容器是SSIS為一個或多個任務提供一種結構的對象。例如可以執行一個循環直到到達邊界條件,或者將一系列的task按邏輯組織在一起。一個容器也可以包含其他的容器。容器和任務(task)一樣也放在Control Flow標簽內,總共有四種類型的容器:任務宿主Task Host,Sequence序列,For循環和Foreach循環。

       

      任務宿主Task Host Containers

      任務宿主是單個task的默認容器,你在工具欄中找不到這種工具的圖標,實際上即使不選擇一個容器,單個task仍然包含在一個任務宿主中。SSIS的結構通過任務宿主來擴展變量和事物控制。

       

      Sequence容器

      Sequence容器可以處理package中的子任務,將package劃分成更容易控制的小片段。下面是Sequence容器的一些應用:

      • 將task歸類使其中一部分不再需要的task不能執行
      • 縮小一個容器中的變量范圍
      • 設置容器中所有task的屬性
      • 使用方法來保證一個task執行成功之后再執行下一個task

      在工具欄的Control Flow中拖放一個Sequence容器,如圖4-1,左邊是一個Sequence容器,包含兩個task,右邊是一個Foreach循環容器,左邊容器中的task執行成功之后才能執行右邊容器中的task。

       

      圖4-1

       

      For循環容器

      For循環容器像其他程序語言一樣,是一種創建循環方法的任務。在這種循環中SSIS設置一個初始值,在循環中不斷地重新賦值,只到不滿足邊界條件。

      雙擊打開For循環容器的編輯頁面如圖4-2。InitExpression選擇項設置循環的初始條件。EvalExpression選擇項是每次循環都會重新賦值的,一旦它變成false,循環將停止。AssignExpression可以在每次循環時都改變表達式的值。

      圖4-2

      現在來試驗一個循環容器的用法,在這個例子中將試驗在循環中五次執行一段腳本,這是一個很簡單的例子,可以添加一些其他功能。

      1. 創建一個SSIS項目,將默認的package更名為ForLoop.dtsx
      2. 打開這個package,川建一個新的變量Counter,在面板中右擊選擇Variables,點擊添加變量按鈕,默認變量類型為int32
      3. 從工具箱中拖放一個Loop循環容器,雙擊打開編輯頁面,設置InitExpression為@Counter = 0,循環開始時變量Counter的值設置為0,EvalExpression選項設置為@Counter < 5 and @Counter = @Counter + 1,在滿足條件@Counter<5是循環一直執行,并自加1,在Name選項中輸入Iterate through a Script,最后如圖4-3
      4. 在這個Loop循環容器中拖放一個腳本任務,雙擊這個腳本任務,取名為Pop Up the Iteration
      5. 在腳本任務的編輯頁面如圖4-4,在ReadOnlyVariables選項中輸入Counter,向任務傳入一個參數變量
      6. 點擊Design Script,打開Visual Studio編輯環境,在Mian()方法體內輸入下面的代碼,代碼根據變量彈出對話框顯示Counter變量的值
      Public Sub Main()
          Dim variables As Variables
          If Dts.Variables.Contains("Counter") = True Then
              Dts.VariableDispenser.LockOneForRead("Counter", variables)
          End If
          MsgBox("You are in iteration: " & CStr(variables("Counter").Value))
          Dts.TaskResult = Dts.Results.Success
      End Sub
      

      注:VS2008環境內部分代碼是Dts.TaskResult = ScriptResults.Success

      1. 退出Visual Studio編輯環境,回到原來的編輯界面,執行這個package結果如圖4-5,會出現5個彈出框,從0到4,Task的顏色變成綠色,然后右變成黃色。最終執行完之循環后又變成綠色。

      圖4-3

      圖4-4

       

      Foreach循環容器

      Foreach循環容器是一個很強大的容器,它可以對對象集合進行循環操作。在循環操作的過程中取得對象集合中相關值,對象集合的類型可以是文件等,在下面列舉。還可以將對象集合中的值映射到變量中。對象的類型根據標簽Collection中Enumerator屬性的設置不同,這些屬性如下:

      • For Each File Enumerator:對指定文件夾下的文件進行循環操作
      • For Each Item Enumerator:對手動設置的對象集合進行循環操作
      • For Each ADO Enumerator:對一個ADO集合中的表中的行進行循環操作
      • For Each ADO.NET Schema Rowset Enumerator:對一個ADO.NET模型進行循環操作
      • For Each From Variable Enumerator:對一組SSIS變量進行循環操作
      • For Each Nodelist Enumerator:對一組XML節點對象進行循環操作
      • For Each SMO Enumerator:對一組SQL管理對下你給進行循環操作

      我們來做一個和For循環容器類似的例子,在這個例子中我們將列舉一個文件夾下的所有文件,使用對話框輸出文件的名字信息。

      1. 新建一個項目,將默認包重命名為ForeachLoop.dtsx
      2. 拖拽一個Foreach循環容器,雙擊打開編輯界面,在General標簽內將它重命名為Iterate through Files
      3. 在Collection標簽內,報紙Enumerator屬性默認值Foreach File Enumerator,設置Folder屬性內選擇一個文件較少的文件夾,這個例子不會修改文件,只是讀出文件的相關信息,在Files選項內保持默認值“.”,最后的界面如圖4-5
      4. 轉到變量映射標簽頁面內,在變量列內選擇<New variable…>,打開添加變量對話框。為變量命名FileName,在Index列內變量的值默認0,因為只對一個文件夾下的文件循環操作,所以保持默認值0不變,點擊OK退出編輯界面
      5. 拖放一個腳本任務放置到Foreach循環容器中,雙擊打開編輯界面重命名為Read Files
      6. 轉到Script標簽,在ReadOnlyVariale屬性內設置變量FileName,點擊Design打開Visual Studio編輯環境,使用下面代碼代替Main()方法體內的代碼
       
      Public Sub Main()
          Dim variables As Variables
          If Dts.Variables.Contains("Counter") = True Then
              Dts.VariableDispenser.LockOneForRead("Counter", variables)
          End If
          MsgBox("You are in iteration: " & CStr(variables("Counter").Value))
          Dts.TaskResult = Dts.Results.Success
      End Sub
      

      注:VS2008環境內部分s代碼是Dts.TaskResult = ScriptResults.Success

        7.  點擊OK退出編輯界面,執行這個package得到的結果如圖4-6(彈出內容根據具體設置不同而不同)

      圖4-6

      圖4-7

      ?
      posted @ 2011-04-08 20:51  nd  閱讀(4376)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 乱码中字在线观看一二区| 新版天堂资源中文8在线| 国产欧亚州美日韩综合区| 国产av一区二区麻豆熟女| 粉嫩jk制服美女啪啪| 东京热一精品无码av| 国产成人精品亚洲高清在线| 亚洲精品一区二区天堂| 建水县| 疯狂做受xxxx高潮视频免费| 奇米四色7777中文字幕| 桐乡市| 国产一区二区在线有码| 国产精品无码成人午夜电影| 久久精品人人槡人妻人人玩AV| 欧美日韩国产亚洲沙发| 中文字幕久久久久人妻| 少妇高潮激情一区二区三| 狠狠色综合久久丁香婷婷| 中文成人无字幕乱码精品区| 国产一区二区高潮视频| 高清无码爆乳潮喷在线观看| 天堂在线最新版在线天堂| 91国在线啪精品一区| 91青青草视频在线观看| 亚洲美免无码中文字幕在线| 嘉义县| 四虎国产精品永久入口| 免费99视频| 九色综合国产一区二区三区| 国产超碰无码最新上传| 风韵丰满熟妇啪啪区老熟熟女| 亚洲第三十四九中文字幕| 国产亚洲色婷婷久久99精品 | 久久一区二区三区黄色片| 草草浮力影院| 国产一区二区一卡二卡| 亚洲国产精品线观看不卡| 国产女人18毛片水真多1| 亚洲成av人片天堂网无码| 日本伊人色综合网|