Crear una tarea personalizada

Los pasos necesarios para crear una tarea personalizada son similares a los pasos para crear cualquier otro objeto personalizado para Integration Services:

  • Cree una clase nueva que herede de la clase base. En una tarea, la clase base es Task.

  • Aplique el atributo que identifica el tipo de objeto para la clase. En una tarea, el atributo es DtsTaskAttribute.

  • Invalide la implementación de los métodos y las propiedades de la clase base. En una tarea, incluyen los métodos Validate y Execute.

  • Si lo desea, desarrolle una interfaz de usuario personalizada. En una tarea, esto requiere una clase que implemente la interfaz IDtsTaskUI.

Para obtener un ejemplo funcional de una tarea personalizada, vea los ejemplos de Integration Services en Codeplex.

Introducción a una tarea personalizada

Crear proyectos y clases

Dado que todas las tareas administradas se derivan de la clase base Task, el primer paso al crear una tarea personalizada consiste en crear un proyecto de bibliotecas de clase en el lenguaje de programación administrado que prefiera y crear una clase que herede de la clase base. En esta clase derivada se invalidarán los métodos y las propiedades de la clase base para implementar la funcionalidad personalizada.

En la misma solución, cree un segundo proyecto de bibliotecas de clase para la interfaz de usuario personalizada. Se recomienda utilizar un ensamblado independiente para la interfaz de usuario a fin de facilitar la implementación, ya que le permite actualizar y volver a implementar la tarea o su interfaz de usuario de forma independiente.

Configure ambos proyectos para firmar los ensamblados que se generarán en tiempo de compilación mediante un archivo de clave de nombre seguro.

Aplicar el atributo DtsTask

Aplique el atributo DtsTaskAttribute a la clase que ha creado para identificarla como una tarea. Este atributo proporciona información en tiempo de diseño, como el nombre, la descripción y el tipo de tarea de la tarea.

Utilice la propiedad UITypeName para vincular la tarea a su interfaz de usuario personalizada. Para obtener el token de clave pública requerido para esta propiedad, puede utilizar sn.exe -t a fin de mostrar el token de clave pública del archivo de pares de claves (.snk) que desea utilizar para firmar el ensamblado de la interfaz de usuario.

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

Generar, implementar y depurar una tarea personalizada

Los pasos para generar, implementar y depurar una tarea personalizada en Integration Services son similares a los pasos necesarios en otros tipos de objetos personalizados. Para obtener más información, vea Generar, implementar y depurar objetos personalizados.

Icono de Integration Services (pequeño) Manténgase al día con Integration Services

Para obtener las más recientes descargas, artículos, ejemplos y vídeos de Microsoft, así como soluciones seleccionadas de la comunidad, visite la página de Integration Services en MSDN o TechNet:

Para recibir notificaciones automáticas de estas actualizaciones, suscríbase a las fuentes RSS disponibles en la página.