共用方式為


建立自訂遞增工作範例

更新: 2005 年 12 月 5 日

「遞增工作」範例示範如何以程式設計方式建立自訂工作及其相關聯的使用者介面。以 Itanium 為基礎的作業系統不支援這個範例。程式碼範例會實作下列功能:

  • Microsoft.SqlServer.Dts.Runtime.Task 基底類別的置換。
  • 驗證。
  • 執行。
  • 永續性支援。
  • 中斷點支援。
  • 自訂事件。

此特定程式碼範例會在執行期間進入迴圈。私用整數變數會在迴圈每一次反覆運算中遞增。屬性 InitialValueIncrementValueLoopCount 會控制迴圈中的處理。這些屬性會使用工作實作的自訂使用者介面來設定。自訂中斷點 OnBeforeIncrementOnAfterIncrement 以及它們的事件會在變數遞增之前和之後引發。工作執行完成後,ExecutionResult 屬性會包含內部遞增變數的值。

ms160699.note(zh-tw,SQL.90).gif重要事項:
範例只供教育目的之用。它們不能用於實際執行環境,而且從來沒有在實際執行環境中測試過。Microsoft 不提供對這些範例的技術支援。

執行範例

如果您已經知道如何找出、建置和安裝程式碼範例,可以直接跳至<測試範例>一節,閱讀有關如何設定與執行程式碼範例的內容。

必要條件

在執行此編碼範例之前,請確定已符合下列條件:

  • 範例封裝及其相關聯的範例資料必須先安裝在本機硬碟上。如需詳細資訊,請參閱《線上叢書》主題<安裝和編譯 Integration Services 編碼範例>。
  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

位置

如果程式碼範例安裝於預設位置,則範例位於下列目錄中:

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\IncrementTask Sample

程式碼範例的 C# 方案位於 CS 目錄中,而 Visual Basic 方案位於 VB 目錄中。

如需有關安裝範例所需執行之兩個步驟程序的詳細資訊,請參閱<安裝範例>。若要取得最新版的範例,包括自 SQL Server 2005 原始發行版本以來所發佈的新範例,請參閱<SQL Server 2005 範例與範例資料庫 (2006 年 4 月)>(英文)。

建立範例

如果您尚未在 Samples 資料夾產生強式名稱金鑰檔,請使用下列程序來產生此金鑰檔。範例專案在 [專案屬性] 對話方塊的 [簽章] 索引標籤上設定為在建立時期以此金鑰檔簽署組件。

若要產生強式名稱金鑰檔

  1. 若要開啟 Microsoft Visual Studio 2005 命令提示字元,請按一下 [開始],依序指向 [所有程式][Microsoft Visual Studio 2005][Visual Studio 工具],然後按一下 [Visual Studio 2005 命令提示字元]

    - 或 -

    若要開啟 Microsoft .NET Framework 命令提示字元,請按一下 [開始],依序指向 [所有程式][Microsoft .NET Framework SDK 2.0],然後按一下 [SDK 命令提示字元]

  2. 在命令提示字元中,使用變更目錄 (CD) 命令,將 [命令提示字元] 視窗的目前資料夾變更為 Samples 資料夾。您在此資料夾建立的金鑰檔將供所有 Microsoft SQL Server 2005 程式碼範例使用。

    ms160699.note(zh-tw,SQL.90).gif附註:
    若要判斷範例所在的資料夾,按一下 [開始],依序指向 [所有程式][Microsoft SQL Server 2005][文件集和教學課程],然後按一下 [範例目錄]。如果是使用預設安裝位置,則範例位於 <system_drive>:\Program Files\Microsoft SQL Server\90\Samples。
  3. 在命令提示字元中,執行下列其中一個命令來產生金鑰檔:

    sn -k SampleKey.snk

    ms160699.note(zh-tw,SQL.90).gif重要事項:
    如需有關強式名稱金鑰組的詳細資訊,請參閱 MSDN 中 .NET Development Center 中的<Security Briefs: Strong Names and Security in the .NET Framework>。
  4. 在後續步驟中,您需要金鑰檔的公開金鑰 Token。若要取得公開金鑰 Token,請在命令提示字元中執行下列命令,先從金鑰檔擷取公開金鑰:

    sn -p SampleKey.snk SampleKeyPublic.snk

  5. 在命令提示字元中執行下列命令來顯示公開金鑰 Token:

    sn -t SampleKeyPublic.snk

  6. 將公開金鑰 Token 複製到剪貼簿,或儲存起來供以後使用。

若要建立範例

  1. 開啟 [Microsoft Visual Studio 2005]

  2. [檔案] | [開啟] 功能表上,按一下 [專案],然後從所要的 Samples 目錄 (C# 語言為 CS 目錄,Visual Basic 則為 VB 目錄) 中開啟 IncrementTask.sln。

  3. 在 [方案總管] 中,選取 IncrementTask.cs 或 IncrementTask.vb 程式碼。

  4. 在此程式碼中,尋找 DtsTask 屬性。在該程式碼行中,取代 IncrementTask.cs 中 UITypeName 屬性內容之公開金鑰 Token 的現有值。在 "PublicKeyToken =" 之後的英數字元值應該取代成上一個步驟所顯示的值。

  5. 按一下功能表上的 [建立] / [建立 IncrementTask],來建立專案的 DLL。

安裝範例

此範例提供有 Visual Basic 和 C# 兩個版本。為了區別各版範例的組件,輸出組件的名稱會附加 CS 或 VB。成功建立元件之後,請遵循這些步驟,將它加入 Business Intelligence Development Studio 中作為一項「控制流程」工作。

若要透過拖放組件將元件安裝於全域組件快取 (GAC)

  1. 將組件 (IncrementTaskCS.dll 或 IncrementTaskVB.dll) 複製到位於 %system%\Program Files\Microsoft SQL Server\90\DTS\Tasks 的資料夾。

  2. 使用第二個視窗,開啟 %system%\assembly 中的全域組件快取 (GAC) 目錄。對於大部分電腦.這將是 C:\Windows\assembly

  3. 在第一個視窗中選取組件,然後將其拖曳至包含 assembly 資料夾的視窗中。

若要使用 gacutil.exe 將元件安裝於全域組件快取 (GAC)

  1. 開啟 [命令提示字元] 視窗。

  2. 輸入下列命令以將 C# 版元件和使用者介面安裝於全域組件快取:

    gacutil.exe -iF "``C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\CS\bin\Debug\IncrementTaskCS.dll"

  3. 輸入下列命令,將 Visual Basic 版元件和使用者介面安裝至全域組件快取:

    gacutil.exe -iF "``C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\VB\bin\Debug\IncrementTaskVB.dll"

注意   為了簡化,此範例的使用者介面作為工作程式碼放在同一專案中;因此,所需要做的只是將 DLL 複製至組件目錄。如果您決定在不同的專案中對使用者介面進行編碼,則除了包含該程式碼的 DLL 之外,您還需要將包含使用者介面的 DLL 加入全域組件快取 (GAC) 中。只有程式碼需要編譯至特定的目錄中。

測試範例

您可以按照下列步驟在 SSIS 設計師中測試範例工作。

若要在 Business Intelligence Development Studio 中使用範例

  1. 開啟 [Business Intelligence Development Studio]。

  2. 在功能表中,按一下 [檔案/新增/專案]

  3. [新增專案] 對話方塊的 [專案類型] 中,按一下 [商務智慧專案],然後在右窗格中按一下 [Integration Services 專案]

  4. [名稱] 方塊中,輸入 IncrementTask 作為新專案的名稱。

  5. [位置] 方塊中,選取要儲存檔案的位置。按一下 [確定]

  6. [方案總管] 對話方塊中,按兩下 Package.dtsx。

  7. [控制流程項目] 工具箱中,以滑鼠右鍵按一下在其中列出 [控制流程項目] 之區域中的任何位置。按一下 [選擇項目]

  8. 按一下 [SSIS 控制流程項目] 索引標籤。向下捲動並選取 IncrementTaskCS 或 IncrementTaskVB 項目。按一下 [確定][IncrementTask] 工作現在應該可以在 [控制流程項目] 工具箱中看到。

  9. 透過按兩下工作,或將工作拖曳至 [控制流程] 介面上,將 [IncrementTask] 加入封裝中的控制流程介面。

  10. 當工作出現在設計介面上後,按兩下工作,以開啟編輯器。將 [迴圈計數] 設為 5,將 [遞增值] 設為 1。

  11. 按一下 [完成]

  12. 執行封裝。

  13. 封裝完成後,檢視設計師中的 [執行結果] 索引標籤。

變更歷程記錄

版本 歷程記錄

2005 年 12 月 5 日

變更的內容:
  • 新增建立金鑰的步驟。