Desarrollar objetos personalizados para Integration Services

Cuando los objetos de flujo de datos y flujo de control que se incluyen con SQL Server Integration Services no cumplen completamente sus requisitos, puede desarrollar por sí mismo muchos tipos de objetos personalizados incluyendo:

  • Tareas personalizadas.

  • Administradores de conexiones personalizados. Conexión con los orígenes de datos externos que no se admiten actualmente.

  • Proveedores de registros personalizados. Eventos de paquete de registro en formatos que no se admiten actualmente.

  • Enumeradores personalizados. Admite la iteración en un conjunto formatos de objetos o valores que no se admiten actualmente.

  • Componentes de flujo de datos personalizados. Se puede configurar como orígenes, transformaciones o destinos.

El modelo de objetos Integration Services facilita este desarrollo personalizado con clases base que proporcionan un marco coherente y confiable para su implementación personalizada.

Si no tiene que reutilizar la funcionalidad personalizada por varios paquetes, la tarea Script y el componente de script le proporcionan toda la eficacia de un lenguaje de programación administrado con significativamente menos código de infraestructura para escribir. Para obtener más información, vea Comparar soluciones de scripting y objetos personalizados.

Para obtener ejemplos funcionales de cada tipo de objeto, vea los ejemplos de Integration Services en Codeplex.

Pasos para desarrollar un objeto personalizado para Integration Services

Cuando se desarrollar un objeto personalizado para su uso en Integration Services, se desarrolla una biblioteca de clases (una DLL) que se cargará en tiempo de diseño y tiempo de ejecución por el Diseñador SSIS y por el tiempo de ejecución de Integration Services. Los métodos más importantes que debe implementar no son métodos a los que llama desde su propio código, sino métodos que el tiempo de ejecución llama en los momentos adecuados para inicializar y validar su componente e invocar su funcionalidad.

A continuación figuran los pasos que se deben seguir para desarrollar un objeto personalizado:

  1. Cree un nuevo proyecto de tipo biblioteca de clases en su lenguaje de programación administrado preferido.

  2. Herede de la clase base adecuada, como se muestra en la tabla siguiente.

  3. Aplique el atributo adecuado a su nueva clase, como se muestra en la tabla siguiente.

  4. Invalide los métodos de la clase base tal y como se requiere, y escriba el código para la funcionalidad personalizada de su objeto.

  5. Opcionalmente, construya una interfaz de usuario personalizada para su componente. Para facilitar la implementación, puede que desee desarrollar la interfaz de usuario como un proyecto independiente dentro de la misma solución y generarlo como un ensamblado independiente.

  6. Genere, implemente y depure su nuevo objeto personalizado, tal y como se describe en Generar, implementar y depurar objetos personalizados.

Clases base, atributos y métodos importantes

En esta tabla se proporciona una referencia sencilla de los elementos más importantes en el modelo de objetos Integration Services para cada tipo de objeto personalizado que puede desarrollar.

Proporcionar una interfaz de usuario personalizada

Para permitir a los usuarios de su objeto personalizado configurar sus propiedades, puede que tenga que desarrollar también una interfaz de usuario personalizada. En aquellos casos donde no se requiere una interfaz de usuario personalizada de forma estricta, puede que decida crear una para proporcionar una interfaz más fácil de comprender que el editor predeterminado.

En un proyecto o ensamblado personalizado de la interfaz de usuario, generalmente tiene dos clases: una clase que implementa una interfaz Integration Services para las interfaces de usuario para el tipo específico de objeto personalizado y el formulario Windows Forms que se muestra para recopilar información del usuario. Las interfaces que implementa tienen solo unos cuantos métodos y una interfaz de usuario personalizada que no es difícil de desarrollar.

Nota

Muchos proveedores de registro de Integration Services tienen una interfaz de usuario personalizada que implementa IDtsLogProviderUI y reemplaza el cuadro de texto Configuración con una lista desplegable que filtra los administradores de conexión disponibles. Sin embargo, las interfaces de usuario personalizadas para los proveedores de registro personalizados no se implementan en esta versión de Integration Services. Especificar un valor para la propiedad UITypeName de DtsLogProviderAttribute no tiene ningún efecto.

La tabla siguiente proporciona una referencia sencilla para las interfaces que debe implementar al desarrollar una interfaz de usuario personalizada para cada tipo de objeto personalizado. También explica lo que el usuario ve si decide no desarrollar una interfaz de usuario personalizada para su objeto, o si no vincula su objeto a su interfaz de usuario mediante la propiedad UITypeName en el atributo del objeto. Aunque el potente editor avanzado puede resultar satisfactorio para un componente de flujo de datos, la ventana Propiedades es una solución menos fácil de usar en tareas y administradores de conexión, y un enumerador ForEach personalizado no se puede configurar en absoluto sin un formulario personalizado.

Objeto personalizado

Clase base para la interfaz de usuario

Comportamiento de edición de valor predeterminado si no se proporciona ninguna interfaz de usuario personalizada

Tarea

IDtsTaskUI

Solo la ventana Propiedades

Administrador de conexiones

IDtsConnectionManagerUI

Solo la ventana Propiedades

Proveedor de registro

IDtsLogProviderUI

(No se implementa en Integration Services)

Cuadro de texto en la columna Configuración

Enumerador

ForEachEnumeratorUI

Solo la ventana Propiedades. El área del editor Configuración de enumerador está vacía.

Componente de flujo de datos

IDtsComponentUI

Editor avanzado

Recursos externos

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.