Condividi tramite


Creating a Custom Task

Data aggiornamento: 15 settembre 2007

The steps involved in creating a custom task are similar to the steps for creating any other custom object for Integration Services:

  • Create a new class that inherits from the base class. For a task, the base class is Task.
  • Apply the attribute that identifies the type of object to the class. For a task, the attribute is DtsTaskAttribute.
  • Override the implementation of the base class's methods and properties. For a task, these include the Task.Validate(Microsoft.SqlServer.Dts.Runtime.Connections,Microsoft.SqlServer.Dts.Runtime.VariableDispenser,Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents,Microsoft.SqlServer.Dts.Runtime.IDTSLogging) and Task.Execute(Microsoft.SqlServer.Dts.Runtime.Connections,Microsoft.SqlServer.Dts.Runtime.VariableDispenser,Microsoft.SqlServer.Dts.Runtime.IDTSComponentEvents,Microsoft.SqlServer.Dts.Runtime.IDTSLogging,System.Object) methods.
  • Optionally, develop a custom user interface. For a task, this requires a class that implements the IDtsTaskUI interface.

For a working sample of a custom task, see Esempio di creazione di un'attività personalizzata per l'incremento di una variabile.

Getting Started with a Custom Task

Creating Projects and Classes

Because all managed tasks derive from the Task base class, the first step when you create a custom task is to create a class library project in your preferred managed programming language and create a class that inherits from the base class. In this derived class you will override the methods and properties of the base class to implement your custom functionality.

In the same solution, create a second class library project for the custom user interface. A separate assembly for the user interface is recommended for ease of deployment because it allows you to update and redeploy the connection manager or its user interface independently.

Configure both projects to sign the assemblies that will be generated at build time by using a strong name key file.

Applying the DtsTask Attribute

Apply the DtsTaskAttribute attribute to the class that you have created to identify it as a task. This attribute provides design-time information such as the name, description, and task type of the task.

Use the UITypeName property to link the task to its custom user interface. To obtain the public key token that is required for this property, you an use sn.exe -t to display the public key token from the key pair (.snk) file that you intend to use to sign the user interface assembly.

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

Building, Deploying, and Debugging a Custom Task

The steps for building, deploying, and debugging a custom task in Integration Services are similar to the steps required for other types of custom objects. For more information, see Building, Deploying, and Debugging Custom Objects.

Change History

Release History

15 settembre 2007

Changed content:
  • Updated code example with correct UITypeName property.

14 aprile 2006

Changed content:
  • Provided information about the purpose of Description and UITypeName.
  • Updated code example to show more properties.

Vedere anche

Concetti

Creating a Custom Task
Coding a Custom Task
Developing a User Interface for a Custom Task

Guida in linea e informazioni

Assistenza su SQL Server 2005