SSIS – Usar Package Configuration para parametrizar los paquetes

SQL Server Integration Services (SSIS) cuenta con una opción sumamente útil a la hora de poner en producción nuestros packages. Dicha funcionalidad es Package Configuration y sirve, básicamente para parametrizar externamente algunos componentes tales como variables, ConnectionStrings para conexiones a Bases de Datos o archivos planos, etc. Esto se lleva a cabo desde archivos externos, comúnmente en formato XML.
Tal vez uno de los usos más frecuentes sea el parametrizar las ConnectionString de las conexiones a las BD tanto de origen como de destino, para de esta manera permitir que el package pueda trabajar con diferentes BD sin necesidad de que éste tenga que ser modificado. Simplemente modificando la cadena de conexión en el archivo de configuración podemos permitir trabajar con diferentes BD.
Los pasos a seguir para utilizar archivos de configuración de packages son los siguientes:
1. Ir al Menú SSIS, elegir la opción Package Configurations…
2. Se abrirá la Ventana de Package Configurations Organizer, en la cual debemos marcar el check que dice Enabled Package Configurations.


3. Hacer clic en el botón Add… tras lo cual se abre una nueva ventana de asistente que nos guiará en el proceso de creación del archivo de configuración. Si hacemos clic en el botón NEXT> ingresamos al primer paso de la creación. Aquí escogeremos el tipo o formato de archivo que deseamos configurar (normalmente lo dejaremos en XML) y luego debemos ingresar el path y el nombre que deseamos que tenga el archivo. Hacemos clic en NEXT> para ir al siguiente paso.


4. En este paso debemos seleccionar las propiedades que deseamos exportar al archivo de configuración. En nuestro caso, suponiendo que tenemos una conexión a una Base de Datos, seleccionaremos la propiedad “connectionstring” de dicha conexión. Damos clic en NEXT> para dirigirnos al último paso.


5. En éste último paso debemos colocar el nombre de configuración y damos click en Finish para culminar este proceso. De esta manera el archivo de configuración ya esta creado y podremos acceder a él para editar la cadena de conexión si lo creemos necesario.


6. Si nos dirigimos al path donde almacenamos el archivo de configuración y lo abrimos podremos ver que se trata de un simple archivo XML. Podemos modificar la connectionString realizando cambios en el lugar adecuado como puede observarse en la siguiente imagen.

4 comentarios:

Trufa dijo...

¿Cómo podríamos controlar que no insertamos filas duplicadas? Es decir, ¿cómo verificamos antes de insertar en una base de datos de SQL Server 2005? Gracias

Miguel A. Ciacci dijo...

Hola Diana, para evitar insertar datos duplicados puedes utilizar un compenente SCD (Slowly changing Dimension) dentro del Data Flow. Puedes configurarlo de diferentes maneras según sea el caso... Puedes ver un post anterior donde utilicé dicho componente, aunque no se si se ajusta a tu caso. Busca el post SSIS – Atributos Históricos tomando fecha desde nombre del Archivo del mes de Marzo de 2008. Espero te sirva de ayuda. Saludos

terecha dijo...

hola Miguel, tengo una duda... estoy en un proyecto de migración de DTS a SSIS. El caso es que son así como 1000 DTS.
Primero, me gustaría saber cuál es la mejor forma de tener las cadenas de conexión de los orígenes de datos parametrizadas para no tener que cambiarlas todas en el cambio de entorno (desarrollo -> producción): variables? fichero de configuración? ambos a la vez?
Y segundo, en caso de que la solución fuese utilizar fichero de configuración, me gustaría tener solamente 1 con todas las cadenas de conexión de todos los orígenes de datos (BBDD SQL, *.MDB, DBASE, *.txt... etc.), que son unas cuantas. Mi pregunta es si es posible tener un solo fichero para todo, ya que lo he intentado, pero tengo la sensación de que haría falta un fichero por paquete y eso sí, reutilizar el mismo fichero de configuración en aquellos paquetes cuyos orígenes y destinos de datos sean los mismos. Estoy equivocada?

Gracias de antemano y un saludo :)

terecha dijo...

Se me ha ocurrido otra cosa, a ver qué te parece...

Crear tantas configuraciones como distintos orígenes de datos haya, en este caso, seleccionando que se almacene en una tabla de configuración en una BBDD de SQL Server 2005. Así, cada registro será una conexión a un origen de datos, y cada paquete solo nos faltaría enlazar los orígenes de datos de las mismas con las configuraciones necesarias, no sé si me he explicado bien... :S
Qué opinas?? cuál es más ñapa de todas?? jajaja