Exemple #1
0
        /// <summary>
        /// Metodo que se encarga de realizar la Ejecución del Paquete
        /// </summary>
        /// <param name="Ruta"></param>
        /// <returns></returns>
        public bool ProcesoEtl(string Ruta)
        {
            string  RutaDts;
            Package Paquete;

            Microsoft.SqlServer.Dts.Runtime.Application Aplicacion;
            DTSExecResult Ejecucion;

            try
            {
                RutaDts    = Ruta;
                Aplicacion = new Microsoft.SqlServer.Dts.Runtime.Application();
                Paquete    = Aplicacion.LoadPackage(RutaDts, null);
                //Parámetros del ETL (Si tuviera)
                //Parameters par = Paquete.Parameters;
                //par["dFecInicio"].Value = dFechaIni;
                //par["dFecFin"].Value = dFechaFin;

                Ejecucion = Paquete.Execute();

                //Validando si el proceso es correcto
                if (Ejecucion == DTSExecResult.Success)
                {
                    return(true);
                }
                else
                {
                    foreach (DtsError error in Paquete.Errors)
                    {
                        Error = String.Concat(Error, " ", error.Description.ToString());
                    }
                    CorreoEnvio oCorreo = new CorreoEnvio();
                    oCorreo.EnvioCorreo(CorreoEnviar, CorreoEnviarCc, Error, "Error Proceso ETL", 1);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                FTextos ofTextos = new FTextos();
                string  Usuarios = ofTextos.fGetUsuario();
                string  Fecha    = DateTime.Now.ToString();
                string  Asunto;
                Asunto = "ETL - Error [Helpdesk] [" + Usuarios + "] [" + Fecha + "]";
                CorreoEnvio oCorreo = new CorreoEnvio();
                oCorreo.EnvioCorreo(CorreoEnviar, CorreoEnviarCc, ex.ToString(), "Error Proceso ETL", 1);
                throw;
            }
        }