Componente de secuencia de comandos

Actualizado: 17 de julio de 2006

El componente de secuencia de comandos aloja la secuencia de comandos y permite a un paquete incluir y ejecutar código personalizado de secuencia de comandos. Puede usar el componente de secuencia de comandos en paquetes para los siguientes fines:

  • Aplicar varias transformaciones a los datos en lugar de usar varias transformaciones en el flujo de datos. Por ejemplo, una secuencia de comandos puede sumar los valores de dos columnas y luego calcular el promedio de la suma.
  • Tener acceso a las normas empresariales en un ensamblado .NET existente. Por ejemplo, una secuencia de comandos puede aplicar una norma empresarial que especifica el intervalo de valores que son válidos en la columna Income.
  • Usar fórmulas personalizadas y funciones, además de las funciones y operadores que proporciona la gramática de la expresión Integration Services. Por ejemplo, validar números de tarjeta de crédito mediante la fórmula LUHN.
  • Validar datos de columna y omitir registros que contienen datos no válidos. Por ejemplo, una secuencia de comandos puede evaluar si un valor de franqueo es razonable y omitir registros con valores extremadamente altos o bajos.

El componente de secuencia de comandos proporciona una manera fácil y rápida de incluir funciones personalizadas en un flujo de datos. Sin embargo, si planea reutilizar el código de secuencia de comandos en varios paquetes, quizás resulte más conveniente programar un componente personalizado en lugar de usar el componente de secuencia de comandos. Para obtener más información, vea Developing a Custom Data Flow Component.

El componente de secuencia de comandos se puede usar como origen, transformación o destino. Este componente admite una entrada y varias salidas. Según la forma en que se usa el componente, admite una entrada o salidas, o ambas cosas. La secuencia de comandos es invocada por cada fila en la entrada o la salida.

  • Si se usa como origen, el componente de secuencia de comandos admite varias salidas.
  • Si se usa como transformación, el componente de secuencia de comandos admite una entrada y varias salidas.
  • Si se usa como destino, el componente de secuencia de comandos admite una entrada.

El componente de secuencia de comandos no admite salidas de error.

Puede configurar el componente de secuencia de comandos de las maneras siguientes:

  • Seleccionar columnas de entrada a las que hacer referencia.
  • Proporcionar la secuencia de comandos que ejecuta el componente.
  • Especificar si la secuencia de comandos está compilada previamente.
  • Proporcionar listas separadas por comas de variables de sólo lectura y de lectura/escritura.
  • Agregar más salidas y agregar columnas de salida a las que la secuencia de comandos asigna valores.

El cuadro de diálogo Editor de transformación Secuencia de comandos del Diseñador SSIS le permite configurar sólo una entrada.

Para escribir sus secuencias de comandos, obtenga acceso al entorno de Visual Studio para Aplicaciones (VSA) desde el cuadro de diálogo Editor de transformación Secuencia de comandos. VSA incluye todas las características estándar del entorno Visual Studio .NET, como el editor de Visual Studio con códigos de color, IntelliSense y el Explorador de objetos. La secuencia de comandos que usa el componente de secuencia de comandos se almacena en la definición de paquete. No hay un archivo de secuencia de comandos independiente.

Modos del componente de secuencia de comandos

En el Diseñador SSIS, el componente de secuencia de comandos tiene dos modos: modo de diseño de metadatos y modo de diseño de código. En el modo de diseño de metadatos, se pueden agregar y modificar las entradas y salidas de componente de secuencia de comandos, pero no se puede escribir código. Una vez configuradas todas las entradas y salidas, se cambia al modo de diseño de código para escribir la secuencia de comandos. El componente de secuencia de comandos genera automáticamente código base a partir de los metadatos de entradas y salidas. Si cambia los metadatos después de que el componente de secuencia de comandos genere el código de base, es posible que su código ya no pueda compilarse porque el código base actualizado puede ser incompatible con su código.

Secuencia de comandos

El componente de secuencia de comandos proporciona un proyecto de VSA que incluye una clase autogenerada, llamada ScriptMain, que representa los metadatos del componente. Por ejemplo, si el componente de secuencia de comandos se usa como una transformación que tiene tres salidas, ScriptMain incluye un método para cada salida. ScriptMain es el punto de entrada a la secuencia de comandos.

El entorno de desarrollo de secuencias de comandos de Visual Studio para Aplicaciones sólo es compatible con Microsoft Visual Basic .NET como lenguaje de secuencias de comandos.

Para obtener información acerca de cómo programar el componente de secuencia de comandos, vea Extending the Data Flow with the Script Component. Para obtener información más específica acerca de cómo configurar el componente de secuencia de comandos como origen, transformación o destino, vea Developing Specific Types of Script Components. Para consultar ejemplos adicionales, como un destino ODBC, que ilustran el uso del componente de secuencia de comandos, vea Additional Script Component Examples.

Secuencia de comandos precompilada

Puede configurar el componente de secuencia de comandos para precompilar la secuencia de comandos. Si la secuencia de comandos es precompilada, se inicia más rápidamente y la secuencia de comandos se puede ejecutar en un entorno de 64 bits. Sin embargo, el tamaño del paquete es mayor cuando contiene secuencias de comandos precompiladas. Además, las secuencias de comandos compiladas no pueden depurarse. A la hora de decidir si precompilar una secuencia de comandos, es necesario tener en cuenta estos factores.

De forma predeterminada, el componente de secuencia de comandos se configura para precompilar su secuencia de comandos y la propiedad PreCompile del componente se establece en True. La propiedad PreCompile generalmente se establece en False durante el desarrollo y la depuración de un paquete, y luego se restablece en True antes de que se implemente el paquete.

Configurar el componente de secuencia de comandos

Puede establecer propiedades a través del Diseñador SSIS o mediante programación.

Para obtener más información sobre las propiedades que se pueden establecer en el cuadro de diálogo Editor de transformación Secuencia de comandos, haga clic en uno de los siguientes temas:

Para obtener más información sobre las propiedades que se pueden establecer en la ventana Propiedades o mediante programación, haga clic en uno de los siguientes temas:

Para obtener más información sobre cómo establecer valores de propiedades, haga clic en uno de los temas siguientes:

Vea también

Conceptos

Transformaciones de Integration Services
Consideraciones acerca de Integration Services en equipos de 64 bits

Otros recursos

Extending the Data Flow with the Script Component

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido modificado:
  • Se agrego una nota indicando las restricciones relativas en el uso de lenguajes de secuencias de comandos.

5 de diciembre de 2005

Contenido modificado:
  • Se agregó una descripción de la propiedad PreCompile.