共用方式為


建立自訂工作

建立自訂工作所需的步驟類似於為 Integration Services 建立任何其他自訂物件的步驟:

  • 建立從基底類別繼承的新類別。對於工作而言,基底類別是 Task

  • 將可識別物件類型的屬性套用至類別。對於工作而言,屬性是 DtsTaskAttribute

  • 覆寫基底類別之方法與屬性的實作。對於工作而言,這些包括 ValidateExecute 方法。

  • (選擇性) 開發自訂使用者介面。對於工作而言,這需要實作 IDtsTaskUI 介面的類別。

如需自訂工作的工作範例,請參閱 Codeplex 網站上的 Integration Services 範例 (英文)。

自訂工作使用者入門

建立專案和類別

因為所有的 Managed 工作都是從 Task 基底類別衍生,所以建立自訂工作時的第一個步驟是以慣用的 Managed 程式語言建立類別庫專案,並建立從基底類別繼承的類別。在此衍生的類別中,您將覆寫基底類別的方法與屬性,以實作自訂功能。

在相同的方案中,為自訂使用者介面建立另一個類別庫專案。建議為使用者介面使用不同的組件以便能輕鬆地部署,因為它允許您獨立地更新和重新部署連接管理員或是其使用者介面。

透過使用強式名稱金鑰檔,將兩個專案都設定成簽署將在建立時期產生的組件。

套用 DtsTask 屬性

DtsTaskAttribute 屬性套用至您已建立的類別,以便將它識別為工作。此屬性提供如名稱、描述和工作類別等設計階段資訊。

使用 UITypeName 屬性將工作連結至其自訂使用者介面。若要取得此屬性所需的公開金鑰 Token,您可以使用 sn.exe -t,從想要用以簽署使用者介面組件的金鑰組 (.snk) 檔案顯示公開金鑰 Token。

using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SSIS.Samples
{
  [DtsTask
  (
   DisplayName = "MyTask",
   IconResource = "MyTask.MyTaskIcon.ico",
   UITypeName = "My Custom Task," +
   "Version=1.0.0.0," +
   "Culture = Neutral," +
   "PublicKeyToken = 12345abc6789de01",
   TaskType = "PackageMaintenance",
   TaskContact = "MyTask; company name; any other information",
   RequiredProductLevel = DTSProductLevel.None
   )]
  public class MyTask : Task
  {
    // Your code here.
  }
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime

<DtsTask(DisplayName:="MyTask", _
 IconResource:="MyTask.MyTaskIcon.ico", _
 UITypeName:="My Custom Task," & _
 "Version=1.0.0.0,Culture=Neutral," & _
 "PublicKeyToken=12345abc6789de01", _
 TaskType:="PackageMaintenance", _
 TaskContact:="MyTask; company name; any other information", _
 RequiredProductLevel:=DTSProductLevel.None)> _
Public Class MyTask
  Inherits Task

  ' Your code here.

End Class 'MyTask

建置、部署和偵錯自訂工作

在 Integration Services 中建立、部署和偵錯自訂工作的步驟,類似於其他類型的自訂物件所需的步驟。如需詳細資訊,請參閱<建立、部署和偵錯自訂物件>。

Integration Services 圖示 (小) 掌握 Integration Services 的最新狀態

若要取得 Microsoft 的最新下載、文件、範例和影片以及社群中的選定解決方案,請瀏覽 MSDN 或 TechNet 上的 Integration Services 頁面:

若要得到這些更新的自動通知,請訂閱該頁面上所提供的 RSS 摘要。