Compartir a través de


Restricciones de precedencia

Las restricciones de precedencia vinculan ejecutables, contenedores y tareas de paquetes en un flujo de control, y especifican condiciones que determinan si se ejecutan los ejecutables. Un ejecutable puede ser un contenedor de bucles For, de bucles Foreach o de secuencia, o bien una tarea o un controlador de eventos. Los controladores de eventos usan las restricciones de precedencia para vincular sus ejecutables en un flujo de control.

Una restricción de precedencia vincula dos ejecutables: el ejecutable de precedencia y el ejecutable restringido. El ejecutable de precedencia se ejecuta antes del ejecutable restringido y el resultado de la ejecución del ejecutable de precedencia puede determinar si se ejecuta el ejecutable restringido. El siguiente diagrama muestra dos ejecutables vinculados por una restricción de precedencia.

Ejecutables conectados mediante una restricción de precedencia

La arquitectura de contenedor anidado de Integration Services habilita todos los contenedores, salvo el contenedor del host de la tarea que encapsula una sola tarea, para incluir otros contenedores, cada uno de los cuales tiene su propio flujo de control. Los contenedores de bucles For, de bucles Foreach y de secuencia pueden incluir varias tareas y otros contenedores, que a su vez pueden incluir varias tareas y contenedores. Por ejemplo, un paquete con una tarea Secuencia de comandos y un contenedor de secuencias tiene una restricción de precedencia que vincula la tarea Secuencia de comandos y el contenedor de secuencias. El contenedor de secuencias incluye tres tareas Secuencia de comandos y las restricciones de precedencia vinculan las tres tareas Secuencia de comandos en un flujo de control. El siguiente diagrama muestra las restricciones de precedencia en un paquete con dos niveles de anidamiento.

Restricciones de precedencia en un paquete

Dado que el paquete se encuentra en la parte superior de la jerarquía de contenedores de SSIS, no se pueden vincular varios paquetes mediante restricciones de precedencia. Sin embargo, puede agregar una tarea Ejecutar paquete a un paquete y vincular indirectamente otro paquete en el flujo de control.

Puede configurar las restricciones de precedencia de las siguientes maneras:

  • Especificar una operación de evaluación. La restricción de precedencia usa un valor de restricción, una expresión, ambas cosas o una de ellas para determinar si se ejecuta el ejecutable restringido.
  • Si la restricción de precedencia usa un resultado de ejecución, puede especificar el resultado de ejecución para que sea correcto, error o conclusión.
  • Si la restricción de precedencia usa un resultado de evaluación, puede proporcionar una expresión que se evalúa como un valor booleano.
  • Especificar si la restricción de precedencia se evalúa individualmente o junto con otras restricciones que se aplican al ejecutable restringido.

Operaciones de evaluación

Integration Services proporciona las siguientes operaciones de evaluación:

  • Una restricción que usa sólo el resultado de la ejecución del ejecutable de precedencia para determinar si el ejecutable restringido se ejecuta. El resultado de la ejecución del ejecutable de precedencia puede ser conclusión, correcto o error.
  • Una expresión que se evalúa para determinar si se ejecuta el ejecutable restringido. Si la expresión se evalúa como TRUE, el ejecutable restringido se ejecuta.
  • Una expresión y una restricción que combina los requisitos de los resultados de la ejecución del ejecutable de precedencia y los resultados de devolución de la evaluación de la expresión.
  • Una expresión o una restricción que usa los resultados de la ejecución del ejecutable de precedencia o los resultados de devolución de la evaluación de la expresión.

La expresión debe ser una expresión de SSIS válida, y puede incluir funciones, operadores y variables del sistema y personalizadas. Para obtener más información, vea Referencia de expresiones de Integration Services y Variables de Integration Services.

Resultados de la ejecución

La restricción de precedencia puede usar los siguientes resultados de ejecución individualmente o combinados con una expresión.

  • La conclusión requiere solamente que el ejecutable de precedencia se haya completado, sin importar su resultado, para que el ejecutable restringido se pueda ejecutar.
  • El resultado correcto requiere que el ejecutable de precedencia se complete correctamente para que pueda ejecutarse el ejecutable restringido.
  • El resultado de error requiere que el ejecutable de precedencia genere un error para que pueda ejecutarse el ejecutable restringido.

[!NOTA] Sólo las restricciones de precedencia que son miembros de la misma colección Precedence Constraint se pueden agrupar en una condición lógica AND. Por ejemplo, no se pueden combinar restricciones de precedencia de dos contenedores de bucles Foreach.

Configurar la restricción de precedencia

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 establecer en el Diseñador SSIS, haga clic en el tema siguiente:

Para obtener más información sobre cómo establecer estas propiedades en el Diseñador SSIS, haga clic en uno de los temas siguientes:

Configurar la restricción de precedencia mediante programación

Para obtener más información sobre cómo establecer estas propiedades mediante programación, haga clic en el tema siguiente:

Vea también

Tareas

Establecer restricciones de precedencia en tareas y contenedores

Conceptos

Contenedores de Integration Services
Tareas de Integration Services
Crear un flujo de control de paquetes

Ayuda e información

Obtener ayuda sobre SQL Server 2005