Compartir a través de


Variables de Integration Services

Actualizado: 5 de diciembre de 2005

Las variables almacenan valores que un paquete de SQL Server 2005 Integration Services (SSIS) y sus contenedores, tareas y controladores de eventos pueden usar en tiempo de ejecución. Las secuencias de comandos en la tarea Secuencia de comandos y el componente Secuencia de comandos también pueden usar variables. Las restricciones de precedencia que ordenan tareas y contenedores en un flujo de trabajo pueden usar variables cuando sus definiciones de restricciones incluyen expresiones.

Puede usar variables en paquetes de Integration Services para los siguientes fines:

  • Actualizar propiedades de elementos de paquete en tiempo de ejecución. Por ejemplo, puede establecer dinámicamente el número de ejecutables simultáneos que admite un contenedor de bucles Foreach.
  • Incluir una tabla de búsqueda almacenada en la memoria. Por ejemplo, un paquete puede ejecutar una tarea Ejecutar SQL que carga una variable con valores de datos.
  • Cargar variables con valores de datos y usarlas posteriormente para especificar una condición de búsqueda en una cláusula WHERE. Por ejemplo, la secuencia de comandos de una tarea Secuencia de comandos puede actualizar el valor de una variable que utiliza una instrucción Transact-SQL en una tarea Ejecutar SQL.
  • Cargar una variable con un número entero y luego usar el valor para controlar bucles dentro de un flujo de control de paquetes. Por ejemplo, puede utilizar una variable en la expresión de evaluación de un contenedor de bucles For para controlar la iteración.
  • Llenar valores de parámetros para instrucciones Transact-SQL en tiempo de ejecución. Por ejemplo, un paquete puede ejecutar una tarea Ejecutar SQL y luego utilizar variables para establecer dinámicamente los parámetros en una instrucción Transact-SQL.
  • Generar expresiones que incluyen valores de variable. Por ejemplo, la transformación Columna derivada puede llenar una columna con el resultado obtenido mediante la multiplicación de un valor de variable por un valor de columna.

Integration Services admite dos tipos de variables: variables definidas por el usuario y variables del sistema. Las variables definidas por el usuario son definidas por los desarrolladores de paquetes y las variables del sistema son definidas por Integration Services. Puede crear la cantidad de variables definidas por el usuario que requiera un paquete, pero no puede crear variables del sistema adicionales.

Todas las variables, del sistema y definidas por el usuario, se pueden utilizar en los enlaces de parámetros que utiliza la tarea Ejecutar SQL para asignar variables a parámetros en instrucciones SQL. Para obtener más información, vea Tarea Ejecutar SQL.

[!NOTA] Los nombres de variables definidas por el usuario y variables del sistema distinguen mayúsculas y minúsculas.

Puede crear variables definidas por el usuario para todos los tipos de contenedores de Integration Services: paquetes, contenedores de bucles Foreach, contenedores de bucles For, contenedores de secuencias, tareas y controladores de eventos. Las variables definidas por el usuario son miembros de la colección de variables del contenedor.

Si crea el paquete mediante el Diseñador SSIS, puede ver los miembros de las colecciones de variables en las carpetas Variables en la ficha Explorador de paquetes del Diseñador SSIS. Las carpetas enumeran las variables definidas por el usuario y variables del sistema.

Puede configurar las variables definidas por el usuario de las maneras siguientes:

  • Proporcionar un nombre y una descripción para la variable.
  • Especificar un espacio de nombres para la variable.
  • Indicar si la variable activa un evento cuando cambia su valor.
  • Indicar si la variable es de sólo lectura o de lectura/escritura.
  • Usar el resultado de la evaluación de una expresión para configurar el valor de variable.
  • Crear la variable en el ámbito del paquete o un objeto de paquete, como una tarea.
  • Especificar el valor y el tipo de datos de la variable.

La única opción configurable en las variables del sistema es especificar si activan un evento cuando cambian de valor.

Hay disponible un conjunto diferente de variables del sistema para diferentes tipos de contenedor. Para obtener más información sobre las variables del sistema usadas por paquetes y sus elementos, vea Variables del sistema.

Para obtener más información acerca de escenarios de uso real para variables, vea Usar variables en paquetes.

Espacio de nombres

Integration Services proporciona dos espacios de nombres, Usuario y Sistema. Como opción predeterminada, las variables personalizadas están en el espacio de nombres Usuario y las variables del sistema están en el espacio de nombres Sistema. Puede crear espacios de nombres adicionales para variables definidas por el usuario y cambiar el nombre del espacio de nombres Usuario, pero no puede cambiar el nombre del espacio de nombres Sistema, agregar variables al espacio de nombres Sistema o asignar variables del sistema a un espacio de nombres diferente.

Ámbito

Una variable se crea dentro del ámbito de un paquete o dentro del ámbito de un contenedor, tarea o controlador de evento en el paquete. Dado que el contenedor del paquete se encuentra en la parte superior de la jerarquía de contenedores, las variables con ámbito de paquete funcionan como variables globales y pueden ser usadas por todos los contenedores en el paquete. De manera similar, las variables definidas dentro del ámbito de un contenedor, como el contenedor de bucles For, pueden ser usadas por todas las tareas o contenedores dentro del contenedor de bucles For.

Si un paquete ejecuta otros paquetes mediante la tarea Ejecutar paquete, las variables definidas en el ámbito del paquete que llama o la tarea Ejecutar paquete se pueden poner a disposición del paquete llamado usando el tipo de configuración de variable de paquete primario. Para obtener más información, vea Configuraciones de paquetes.

Valor

El valor de una variable definida por el usuario puede ser un literal o una expresión. Una variable incluye opciones para establecer el valor de la variable y el tipo de datos del valor. Las dos propiedades deben ser compatibles: por ejemplo, el uso de un valor de cadena junto con el tipo de datos de número entero no es válido.

Si la variable está configurada para evaluarse como una expresión, se debe proporcionar una expresión. En el tiempo de ejecución, se evalúa la expresión, y se establece la variable con el resultado de la evaluación. Por ejemplo, si una variable usa la expresión DATEPART("month", GETDATE()) , el valor de la variable es el equivalente numérico del mes de la fecha actual. La expresión debe ser una expresión válida que use la sintaxis de gramática de expresiones de SSIS. Cuando una expresión se usa con variables, la expresión puede usar literales y los operadores y funciones que proporciona la gramática de la expresión, pero la expresión no puede hacer referencia a otras variables o las columnas desde un flujo de datos en el paquete. La longitud máxima de una expresión es 4000 caracteres. Para obtener más información, vea Referencia de expresiones de Integration Services.

Configurar variables

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

Para obtener más información acerca de las propiedades que puede configurar en el Diseñador SSIS, vea Ventana Variables.

Configurar variables mediante programación

Para obtener más información sobre las propiedades de las variables, así como recabar obtener más información sobre la configuración mediante programación de estas propiedades, vea Variable.

Vea también

Conceptos

Controladores de eventos de Integration Services

Otros recursos

Objetos y conceptos de Integration Services

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

5 de diciembre de 2005

Contenido nuevo:
  • Se agregó información sobre el uso de variables en enlaces de parámetros para instrucciones SQL.