SSIS –Deploying Soluciones

0 comentarios

Una vez concluidos y testeados los procesos y demás componentes de una solución, seguramente se necesitará redistribuirlos en otros servidores. Para ello podremos realizar el Deploy de la solución a través del Deploy Utility del SQL Server Business Intelligence Development Studio. Los pasos a seguir son los siguientes:
1. Click botón derecho sobre la Solución, escoger Propiedades.
2. Debemos situarnos en Deployment Utility, y setear la propiedad CreateDeploymentUtility en True. También podemos cambiar el destino de ficheros resultantes modificando la propiedad DeploymentOutputPath.



3. Damos OK.
4. Hacemos click derecho sobre la Solución nuevamente, y escogemos la opción Build. Se compilará la Solución y en caso de no existir errores se deberán crear los ficheros de Deploy en el path especificado en la propiedad DeploymentOutputPathantes mencionada.



5. Si el proceso de Deploy fue exitoso deberá existir en el directorio de Output un fichero con extensión SSISDeploymentManifest. Ejecutando ese Fichero nos aparecerá un asistente para la instalación de los diferentes paquetes, ficheros de configuración y demás componentes de la Solución.

SSIS – Error en Deploy con Ficheros de Configuración Compartidos

0 comentarios

Hace unas semanas, cuando intentaba hacer el deploy de mi solución para redistribuirla me surgió un error muy curioso. El mismo se produce al intentar hacer el deploy de una solución en la que 2 o más packages comparten un mismo fichero de configuración.
Si no conocen que es un fichero de configuración, brevemente les puedo decir que son ficheros por lo general en formato XML que sirven para poder insertar o setear las diferentes propiedades de objetos dentro del Package, por ejemplo se puede definir la ConnectionString de una conexión a BD, el valor de una Variable, entre otros.
El mensaje de error es el siguiente:

System.ApplicationException: Could not copy file "C:\...\xxx.dtsConfig" to the deployment utility output directory "C:\...\xxx\bin\Deployment". ---> System.IO.IOException: The file 'C:\...\...\xxx.dtsConfig' already exists. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite) at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.CopyFiles(ICollection fileNames, String outputPath) --- End of inner exception stack trace --- at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.CopyFiles(ICollection fileNames, String outputPath) at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.CreateDeploymentUtility(IOutputWindow outputWindow)

Investigando en diferentes sitios, libros y materiales pude encontrar una solución “manual” (sí, escucharon bien!!). Dicha solución consiste en crear un archivo de texto, renombrarlo con la extensión .SSISDeploymentManifest e insertar código con estructura XML que enumere todos los packages, ficheros de configuración y demás elementos a redistribuir. Por ejemplo:



Al ejecutar éste archivo, aparecerá el asistente de instalación como normalmente debería suceder.
He leído por algunos foros que el SP2 ya soluciona este bug, aún no he podido comprobarlo, pero ni bien lo haga lo agregaré a mi Blog.
Espero haber sido de ayuda, saludos… nos vemos en la próxima publicación.