none
Notificar la ejecución exitosa de una paquete SSIS desde WindowsForms RRS feed

  • Pregunta

  • Buenas tardes, los molesto con lo siguiente... Tengo un paquete SSIS el cual almacene en mi BBDD, este paquete se ejecuta a demanda del usuario desde un WindowsForm. Una vez que se comienza a ejecutar el paquete, demora aproximadamente 15 minutos, por lo que me gustaría saber si existe alguna manera de configurar una notificación tipo MessageBox para que le indique al usuario que la ejecución finalizó... 

    El paquete se ejecuta desde VS con la siguiente instrucción:

    EXEC dbo.sp_start_job N'INFORME COSTO

    Espero haber explicado bien lo que requiero. Quedo atento a sus comentarios.

    miércoles, 12 de julio de 2017 19:32

Respuestas

  • Podrías añadir al final del paquete alguna tarea que haga la notificación. Por ejemplo, podría ser una tarea de Script, y dentro del Script meter una llamada a la aplicación en VB mediante algún tipo de comunicación inter-procesos (por ejemplo, un socket, o WCF). Otra opción que se me ocurre es meter al final del paquete una tarea que grabe o modifique un registro en una tabla auxiliar en el servidor de base de datos. Y en el programa Winforms meter un SqlDependency que vigile esa tabla, y en su evento OnChage presentar el MessageBox (recuerda que se dispara en otro hilo, tendrás que usar un Invoke para el marshalling entre hilos antes de mostrar el mensaje). Y otra opción sería que al final del paquete se grabe un fichero auxiliar en disco (puede ser en una carpeta compartida) y que el programa WinForms use un FileSystemWatcher para detectar la aparición del fichero y mostrar el mensaje.
    miércoles, 12 de julio de 2017 20:26