Compartir a través de


Comparar la tarea Script y el componente de script

La tarea Script, disponible en la ventana Flujo de control del Diseñador de Integration Services, y el componente Script, disponible en la ventana Flujo de datos, tienen fines muy diferentes en un paquete de Integration Services. La tarea es una herramienta de flujo de control de uso general, en tanto que el componente actúa como un origen, transformación o destino en el flujo de datos. A pesar de sus fines diferentes, sin embargo, la tarea Script y el componente de script tienen algunas similitudes en las herramientas de codificación que utilizan y los objetos del paquete que ponen a disposición del desarrollador de software. Comprender sus similitudes y diferencias puede ayudarle a utilizar la tarea y el componente de manera más eficaz.

Similitudes entre la tarea Script y el componente de script

La tarea Script y el componente de script comparten las siguientes características comunes.

Característica

Descripción

Dos modos en tiempo de diseño

Tanto en la tarea como en el componente, se comienza especificando las propiedades en el editor y, a continuación, se cambia al entorno de desarrollo para escribir código.

Microsoft Visual Studio Tools para aplicaciones (VSTA)

Tanto la tarea como el componente usan el mismo IDE de VSTA y admiten código escrito en Microsoft Visual Basic o Microsoft Visual C#.

Scripts precompilados

A partir de SQL Server 2008 Integration Services (SSIS), todos los scripts están precompilados. En versiones anteriores, podía especificar si se precompilaban o no los scripts.

El script se precompila en código binario, lo que permite una ejecución más rápida, pero aumenta el tamaño del paquete.

Depuración

La tarea y el componente admiten ambos puntos de interrupción y recorridos paso a paso por el código mientras se depura en el entorno de diseño. Para obtener más información, vea Codificar y depurar la tarea Script y Codificar y depurar el componente de script.

Diferencias entre la tarea Script y el componente de script

La tarea Script y el componente de script tienen las siguientes diferencias notables.

Característica

Tarea Script

Componente de script

Flujo de control/flujo de datos

La tarea Script se configura en la pestaña Flujo de control del diseñador y se ejecuta fuera del flujo de datos del paquete.

El componente de script se configura en la página Flujo de datos del diseñador y representa un origen, transformación o destino en la tarea Flujo de datos.

Finalidad

Una tarea Script puede realizar prácticamente cualquier tarea de uso general.

Con el componente de script, debe especificar si desea crear un origen, transformación o destino.

Ejecución

Una tarea Script ejecuta código personalizado en algún punto del flujo de trabajo del paquete. Solo se ejecuta una vez, a menos que se incluya en un contenedor de bucles o en un controlador de eventos.

Un componente de Script también se ejecuta una vez, pero normalmente ejecuta su rutina de procesamiento principal una vez para cada fila de datos del flujo de datos.

Editor

El Editor de la tarea Script tiene tres páginas: General, Script y Expresiones. Solo las propiedades ReadOnlyVariables y ReadWriteVariables y ScriptLanguage afectan directamente al código que se puede escribir.

El Editor de Script de transformación tiene hasta cuatro páginas: Columnas de entrada, Entradas y salidas, Script y Administradores de conexión. Los metadatos y propiedades que configura en cada una de estas páginas determinan los miembros de las clases base que se generan automáticamente para su uso en el código.

Interacción con el paquete

En el código escrito para una tarea Script, utiliza la propiedad Dts para tener acceso a otras características del paquete. La propiedad Dts es miembro de la clase ScriptMain.

En el código del componente de script, utiliza propiedades de descriptor de acceso con tipo para tener acceso a ciertas características del paquete como variables y administradores de conexión.

El método PreExecute únicamente puede tener acceso a variables de solo lectura. El método PostExecute puede tener acceso a variables de solo lectura y de lectura y escritura.

Para obtener más información acerca de estos métodos, vea Codificar y depurar el componente de script.

Utilizar variables

La tarea Script utiliza la propiedad Variables del objeto Dts para tener acceso a variables disponibles a través de las propiedades ReadOnlyVariables y ReadWriteVariables de la tarea. Por ejemplo:

El componente de script utiliza propiedades de descriptor de acceso con tipo de la clase base generada automáticamente, creadas a partir de las propiedades ReadOnlyVariables y ReadWriteVariables del componente. Por ejemplo:

Utilizar conexiones

La tarea Script utiliza la propiedad Connections del objeto Dts para tener acceso a los administradores de conexión definidos en el paquete. Por ejemplo:

El componente de script utiliza propiedades de descriptor de acceso con tipo de la clase base generada automáticamente, creadas a partir de la lista de administradores de conexión escrita por el usuario en la página Administradores de conexión del editor. Por ejemplo:

Provocar eventos

La tarea Script utiliza la propiedad Events del objeto Dts para provocar eventos. Por ejemplo:

El componente de script provoca errores, advertencias y mensajes informativos utilizando los métodos de la interfaz IDTSComponentMetaData100 que devuelve la propiedad ComponentMetaData. Por ejemplo:

Registrar

La tarea Script utiliza el método Log del objeto Dts para registrar información en los proveedores de registro habilitados. Por ejemplo:

El componente de script utiliza el método Log de la clase base generada automáticamente para registrar información en los proveedores de registro habilitados. Por ejemplo:

[Visual Basic]

Dim bt(0) As Byte

Me.Log("Test Log Event", _

0, _

bt)

Devolver resultados

La tarea Script utiliza la propiedad TaskResult y la propiedad opcional ExecutionValue del objeto Dts para notificar sus resultados al motor en tiempo de ejecución.

El componente de script se ejecuta como parte de la tarea Flujo de datos y no notifica resultados mediante estas propiedades.

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

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


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

Vea también

Referencia

Extender el paquete con la tarea Script

Conceptos

Ampliar el flujo de datos con el componente de script

Otros recursos

Usar servicios Web en SSIS mediante scripts (respuesta seleccionada)