文章編號: 908460 - 上次校閱: 2006年3月11日 - 版次: 2.1

如何新增 SQL Server 2005 整合服務套件中的累加式的計數器利用 「 資料流程 」 工作中的指令碼元件

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

簡介

當您建立 Microsoft SQL Server 2005 整合服務 (SSIS) 封裝使用商務智慧開發 Studio 時,您可以新增遞增計數器的資料流量的任何一點藉由使用指令碼元件在 「 資料流程 」 工作中。

比方說您可能會希望自己能夠每個資料列插入資料來源之後的遞增計數器。然後,您可以用來錄製,以及識別,成功地載入並重新導向未載入資料列的資料列的計數。如果您只興趣最後計數您可以使用 「 資料列計數 」 轉換來新增一個計數器。使用指令碼元件,以新增一個計數器,並使用 「 資料列計數 」 轉換,以新增一個計數器不同的是下列:
  • 指令碼元件將加入至資料流做新的資料行值,每一個資料列中為遞增值。
  • 轉換會加入一個資料列計數和目前的計數器值給單一使用者定義的變數的更新。

其他相關資訊

若要使用指令碼新增遞增計數器資料流程工作中的元件,請依照下列步驟執行:
  1. 在 [控制項流程] 索引標籤,按兩下您所建立的資料流程工作。[資料流程] 索引標籤中出現。
  2. 在 [工具箱] 視窗中,連按兩下 [指令碼元件
  3. 在 [選取的指令碼元件類型] 對話方塊按一下 轉換,],然後再按一下 [確定] 以預先設定轉換為元件]。
  4. 若要從資料流來源新增連接線到 「 指令碼元件,資料流量來源上按一下滑鼠右鍵,然後再按 [新增路徑
  5. 若要新增連接線,從指令碼元件以資料流向目的、 指令碼的元件上按一下滑鼠右鍵,然後按一下 [新增路徑
  6. 連按兩下指令碼元件。出現 [Script 轉換編輯器] 對話方塊。
  7. 按一下左窗格中的 輸入和輸出、 連 輸出 0 按兩下在中間窗格中,然後再按 [輸出資料行
  8. 按一下 [加入資料行,然後再新增新的資料行名為 mycount
  9. 按一下 [在左窗格中的 [指令碼,然後按一下 [設計指令碼。一個新 Microsoft Visual Studio 的應用程式視窗出現時,貼上下列程式碼視窗中。
    Imports System
    Imports System.Data
    Imports System.Math
    Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
    Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
    
    Public Class ScriptMain
        Inherits UserComponent
        Dim counter As Integer = 0  ' User code
    
    
        Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
            '
            ' Add your code here
            Row.mycount = counter   ' User code
            counter = counter + 1   ' User code
    
            '
        End Sub
    
    End Class
  10. 在 [Script 轉換編輯器] 對話方塊中,按一下 [確定]
當您完成這些步驟時,您可以使用 mycount 欄為資料流量目的地中的欄。您可以擴充功能的範例程式碼,以新增詳細資訊。比方說,您可以新增 ExecutionInstanceGuid 系統變數或時間和日期戳記。

附註您加入之 mycount 欄會反映出指令碼元件處理資料列順序。 mycount 資料行並不會一定反映原始的來源中之實際的資料列編號。 這是尤其當您插入資料] 流程中其他轉換後的指令碼元件,因為所有資料都流物件,指令碼元件可能會篩選資料或重新導向資料列之前。

?考

如需詳細資訊請參閱 SQL Server 2005 線上叢書 》 中的下列主題]:
  • SQL Server 整合服務 (SSIS)
  • 指令碼元件
  • 設定指令碼元件
  • 撰寫程式碼和測試指令碼元件
  • 資料列計數轉換

這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
關鍵字:?
kbmt kbsql2005ssis kbhowto KB908460 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:908460? (http://support.microsoft.com/kb/908460/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。