martes, 11 de marzo de 2014

Ejecutar Paquetes de SSIS en ASPX con C#

Básicamente el siguiente código es el necesario para ejecutar un paquete de SQL Server Integration Services.

----------------------------------------------------------------------------------------------------------------------
try
        {
            Application app = new Application();
            Package package = null;
            package = app.LoadPackage(@"C:\Carpeta\Package.dtsx", null); //Ruta del archivo .dtsx
            //Ejecutar el paquete
            Microsoft.SqlServer.Dts.Runtime.DTSExecResult results = package.Execute();
            if (results == Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure)
            {
                foreach (Microsoft.SqlServer.Dts.Runtime.DtsError local_DtsError in package.Errors)
                {
                    Console.WriteLine("Package Execution results: {0}", local_DtsError.Description.ToString());
                    Console.WriteLine();
                }
            }
        }
        catch (DtsException ex)
        {
            throw ex;
        }
}
-------------------------------------------------------------------------------------------------------------------------

fuente | http://www.dotnetfunda.com/articles/show/795/how-to-execute-ssis-packages-in-csharp-aspnet-part-ii

 En el link anterior agregan una referencia a "Microsoft.SqlServer.Dts.Runtime", la cual puede no aparecer en las opciones dentro de la pestaña ".NET". En el siguiente link mencionan las posibles rutas en las que puede encontrarse la DLL "Microsoft.SqlServer.ManagedDTS.dll" de dicha referencia.

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/1b3ed694-cf02-445e-8ff4-0de4fd45a464/error-dts-does-not-exist-in-the-namespace-microsoftsqlserver?forum=sqlintegrationservices


La ruta en la cual encontré la DLL fue:

windows->assemby->GAC_MSIL->Microsoft.SqlServer.ManagedDTS->10.0.0.0__89845dcd8080cc91



En dado caso no la encuentren por ningún lado la pueden descargar del siguiente link

Microsoft.SqlServer.ManagedDTS.dll
https://app.box.com/s/h3ilgshkraaoj6vx8e3d