创建自定义任务

创建自定义任务的步骤与创建其他任何 Integration Services 自定义对象的步骤相似:

  • 创建一个从基类继承的新类。对于任务,基类是 Task

  • 将标识对象类型的属性应用于该类。对于任务,该属性是 DtsTaskAttribute

  • 重写基类的方法和属性的实现。对于任务,这些方法包括 ValidateExecute

  • 可以选择开发自定义用户界面。对于任务,这需要实现 IDtsTaskUI 接口的类。

有关自定义任务的工作示例,请参阅 Codeplex 上的 Integration Services 示例。

自定义任务入门

创建项目和类

由于所有托管任务都派生自 Task 基类,所以创建自定义任务的第一步是创建一个用您首选的托管编程语言编写的类库项目,然后创建一个从该基类继承的类。在此派生类中重写基类的属性和方法可实现您的自定义功能。

在同一解决方案中,创建另一个类库项目,用于自定义用户界面。为便于部署,推荐对用户界面使用单独的程序集,因为这样,您就可以分别更新和重新部署连接管理器或其用户界面。

将这两个项目配置为使用强名称密钥文件对在生成时产生的程序集进行签名。

应用 DtsTask 属性

DtsTaskAttribute 属性应用于您创建的类以将其标识为任务。此属性提供设计时信息,例如任务的名称、说明和任务类型。

使用 UITypeName 属性链接任务与其自定义用户界面。若要获取此属性所需的公钥标记,可以使用 sn.exe -t 显示要用于对用户界面程序集进行签名的密钥对 (.snk) 文件中的公钥标记。

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 源。