configuration - paquetes - integration services visual studio 2015
¿Cómo puedo configurar dinámicamente la ubicación de una tarea Ejecutar paquete en SSIS? (1)
Tienes opciones. Estás en el estado de ánimo adecuado utilizando expresiones, pero también puedes beneficiarte del uso de configuraciones.
Para usar expresiones, necesitaría usar una tarea de secuencia de comandos o una tarea de ejecución de SQL para regresar la lista de archivos por los que desea trabajar.
Debería asignar cada valor devuelto a su propia variable que se pasa a la expresión, o usar un ciclo FOR EACH y trabajar a través de una lista, asignando la ubicación del paquete secundario cada vez.
La otra opción es usar configuraciones. Mi preferencia es usar una tabla de configuración dentro de SSIS. Si tiene la misma lista de paquetes en cada entorno, puede pasar el directorio raíz y usar una expresión que: @ [User :: RootPackagePath] + "/ PackageName.dtsx"
O bien, podría simplemente tener un registro para cada paquete secundario en la tabla de configuración y eso se pasaría al paquete.
Edición basada en comentarios:
Pude configurar con éxito un paquete para cambiarlo a través de configuraciones para llamar a un paquete desde el sistema de archivos luego SQL.
Solo necesitaba pasar Connection y PackageName para cada uno. Con SQL, quiere un nombre del administrador de conexión (. / SQL2008R2 en mi caso) y el nombre del paquete (/ Package1). Para el sistema de archivos, PackageName está en blanco y la conexión es un FileConnection en el administrador de conexión.
Tendrá que mantener ambos en el paquete, pero cambia entre los dos.
Estoy tratando de configurar un paquete ''maestro'' de SSIS en SQL Server 2008 para ejecutar otros paquetes ''secundarios''. Al desarrollar los paquetes ''secundarios'' tenemos todos los paquetes en el disco para que podamos depurarlos fácilmente, así que usamos conectores de archivos durante el desarrollo y podemos monitorear el progreso muy bien.
Cuando implementamos, implementamos los paquetes secundarios en SSIS en SQL Server y luego revisamos y cambiamos todas las tareas de Ejecutar Paquete para usar un valor de ubicación de ''SQL Server'' y configuramos PackageName. Una vez hecho esto, implementamos el ''maestro''.
Lo que me gustaría hacer es usar una expresión en la tarea Ejecutar paquete para establecer las propiedades de conexión para que podamos configurar esto dependiendo del entorno. Ya hemos configurado una base de datos de configuración de SQL Server utilizando una vista que verifica el nombre de host de la consulta y devuelve valores diferentes en función de la consulta.