none
Restricciones de precedencia usando múltiples variables RRS feed

  • Pregunta

  • Hola a todos.

    A ver, tengo un paquete en el cual manipulo varios tipos de fichero. Para ello he creado un paquete con varias ramas, una por tipo de fichero. Lo primero que compruebo es sí existe el archivo en cuestión. Si no existe, establezco una variable booleana a falso. En caso de existir, lo cambio verdadero. Esta variable la uso en la configuración de restricción de precedencia para evitar que alguna de los flujos se siga ejecutando en caso de ausencia del correspondiente archivo.

    El problema es que las distintos flujos convergen al final en un paso común, y sí alguna de las variables tiene valor falso, los flujos con valor verdadero se quedan esperando eternamente sin finalizar el paquete.

    ¿Como puedo solucionar esto? hablo de seis flujos paralelos y seis variables booleanas. 

    ¡Muchas gracias!

    Salu2,


    José Mª Fueyo [MS MVP Access]

    lunes, 30 de septiembre de 2013 17:15

Respuestas

  • Hola José,

    Lo primero que me saltó a la vista cuando vi la expresión de restricción de precedencia es el operador AND, ya que en SSIS se utiliza && en su lugar. Algo así:

    @[User::boolean1]== true &&  @[User::boolean2]==false


    Víctor M. García Sánchez. Hope this help. Please vote if you find this posting was helpful. if this is an answer to your question, please mark it. http://bifase.blogspot.com | http://twitter.com/atharky

    • Marcado como respuesta José Mª Fueyo miércoles, 2 de octubre de 2013 10:43
    miércoles, 2 de octubre de 2013 9:06

Todas las respuestas

  • Hola.

    Une cada paso de existencia de fichero con el punto de convergencia directamente, agregando una restricción de precedencia que sólo progrese si la variable es falso. De ese modo, los seis hilos llegarán a ese punto final por un camino o por otro (salvo error).

    Si así no te vale, nos dices.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    lunes, 30 de septiembre de 2013 19:40
    Moderador
  • Hola, Alberto, y gracias por tu respuesta.

    Eso ya lo hice. En cada hilo comprobaba las variables asociadas a los otros hilos (cinco variables tienen que tener valor True. La suya asociada a sí mismo lo es, sino no habría llegado a ese punto de ejecución). El problema es que me da error de sintaxis.

    @Var1==True AND @Var2==True AND ....

    Me da el error que os adjunto

    ¿Que es lo que me falla? esto me ha funcionado con dos hilos, es decir, con una única variable a comprobar. En este caso, son seis hilos, y tengo que comprobar (en cada hilo) el valor de cinco variables.

    Gracias nuevamente.

    Saludos,


    José Mª Fueyo [MS MVP Access]

    martes, 1 de octubre de 2013 7:26
  • Hola José,

    Lo primero que me saltó a la vista cuando vi la expresión de restricción de precedencia es el operador AND, ya que en SSIS se utiliza && en su lugar. Algo así:

    @[User::boolean1]== true &&  @[User::boolean2]==false


    Víctor M. García Sánchez. Hope this help. Please vote if you find this posting was helpful. if this is an answer to your question, please mark it. http://bifase.blogspot.com | http://twitter.com/atharky

    • Marcado como respuesta José Mª Fueyo miércoles, 2 de octubre de 2013 10:43
    miércoles, 2 de octubre de 2013 9:06
  • Perfecto, Victor. Eso me solventó el problema.

    Como se suele decir, nunca me acostaré sin saber una cosa más.

    Salu2,


    José Mª Fueyo [MS MVP Access]

    miércoles, 2 de octubre de 2013 10:43