none
AUTOMATIZAR IMPORTACIÓN FICHERO .DAT A BBDD RRS feed

  • Pregunta

  • Buenos días,

     Actualmente tengo una aplicación de escritorio desarrollada en visual basic basada en windows form que engancha con una BBDD SQL, a diario se carga un fichero de forma manual por medio de un método implementado en el código

    Cuál sería el procedimiento  para automatizar esta tarea y que el fichero se cargue  automáticamente en la base a una hora concreta todos los días sin que intervenga el usuario

    Gracias y un saludo

       

    jueves, 13 de septiembre de 2018 9:37

Respuestas

  • La BBDD SQL que mencionas, ¿es un SQL Server "grande" (es decir, no una versión gratuita tal como la Express)?

    Si es así, puedes crear un Job en el Agente que se ejecute todos los días a la hora deseada. Dentro del Job puedes ejecutar lo que quieras, por ejemplo una llamada a una aplicación escrita en VB que haga la importación. Si lo haces así, tendrás que extraer la parte relevante de código desde dentro de la aplicación Windows Forms y meterla en una aplicacioncita de Consola que no interactúe con el usuario, y llamar a esta aplicación desde el Job.

    Si tu versión de SQL es e las "pequeñas" y no tiene el Agente, entonces puedes hacer lo mismo (llamar a la aplicacioncita de consola) desde el Programador de Tareas de Windows, pero en este caso recuerda que no siempre está habilitado en todas las instalaciones de Windows, puede ser que primero tengas que habilitar en Windows el Programador de Tareas.

    • Propuesto como respuesta Pablo Rubio jueves, 13 de septiembre de 2018 21:04
    • Marcado como respuesta Tagger1980 lunes, 17 de septiembre de 2018 10:33
    jueves, 13 de septiembre de 2018 15:50

Todas las respuestas

  • La BBDD SQL que mencionas, ¿es un SQL Server "grande" (es decir, no una versión gratuita tal como la Express)?

    Si es así, puedes crear un Job en el Agente que se ejecute todos los días a la hora deseada. Dentro del Job puedes ejecutar lo que quieras, por ejemplo una llamada a una aplicación escrita en VB que haga la importación. Si lo haces así, tendrás que extraer la parte relevante de código desde dentro de la aplicación Windows Forms y meterla en una aplicacioncita de Consola que no interactúe con el usuario, y llamar a esta aplicación desde el Job.

    Si tu versión de SQL es e las "pequeñas" y no tiene el Agente, entonces puedes hacer lo mismo (llamar a la aplicacioncita de consola) desde el Programador de Tareas de Windows, pero en este caso recuerda que no siempre está habilitado en todas las instalaciones de Windows, puede ser que primero tengas que habilitar en Windows el Programador de Tareas.

    • Propuesto como respuesta Pablo Rubio jueves, 13 de septiembre de 2018 21:04
    • Marcado como respuesta Tagger1980 lunes, 17 de septiembre de 2018 10:33
    jueves, 13 de septiembre de 2018 15:50
  • La BBDD SQL que mencionas, ¿es un SQL Server "grande" (es decir, no una versión gratuita tal como la Express)?

    Es versión "grande"

    Miro lo de crear un job

    Muchas gracias

    viernes, 14 de septiembre de 2018 9:30
  • He creado un job que ejecuta un procedimiento almacenado que llama a la aplicación de consola. Todo Ok.

    Gracias por tu ayuda

    Un saludo

    viernes, 21 de septiembre de 2018 12:51
  • He creado un job que ejecuta un procedimiento almacenado que llama a la aplicación de consola.

    Es quizá un poco excesivo, a no ser que dentro del procedimiento hagas otras cosas aparte de llamar a la aplicación de consola. El propio job puede llamar directamente a la aplicación de consola, y te evitarías tener que pasar a través del procedimiento almacenado.

    Llamándola directamente también te evitarías tener que habilitar el xp_cmdshell para que el procedimiento la pueda llamar, que siempre es algo que conviene evitar si se puede (a no ser que de todas maneras lo necesites tener habilitado para otros fines, en cuyo caso no digo nada).

    viernes, 21 de septiembre de 2018 14:02