none
Tarea programada a una hora y día específica. RRS feed

  • Pregunta

  • Buen día, me gustaría saber de que manera puedo realizar una consulta el último día del mes a las 11:58:00 p.m. de manera constante, se trata solo de una consulta. He consultado información y he leído que la mejor opción para hacer lo que deseo es un Job de SQL (SQL Server Agent job) el problema que yo tengo es que por un problema de instalación no tengo el SQL Server Management Studio no tengo SQL, uso otro manejador (disculpen la anticipación, pero NO puedo instalarlo tendría que formatear mi computadora, he intentado instalarlo casi por dos meses hacerlo y después de una instalación fallida ha sido una lucha inútil), por lo que agradecería cualquier tipo de información de mi duda primaria: 

    Me gustaría saber de que manera puedo realizar una consulta el último día del mes a las 11:58:00 p.m. de manera constante, se trata solo de una consulta. 

    Puedo hacerlo con código c# (Un window service, task, hilos ,existen en c#??) como hacerlo? De antemano, gracias


    martes, 17 de abril de 2018 21:57

Todas las respuestas

  • El sistema operativo tiene tareas programadas.  Programe una que corra la consulta, tal vez con sqlcmd.

    Jose R. MCP
    Code Samples

    miércoles, 18 de abril de 2018 1:54
    Moderador
  • hola

    >>el problema que yo tengo es que por un problema de instalación no tengo el SQL Server Management Studio no tengo SQL

    pero si es ese el problema puedes instalar el management por separado

    Download SQL Server Management Studio (SSMS)

    >>uso otro manejador

    te refieres a otro motor de base de datos ? cual? mysql, postgres, oracle


    >>Me gustaría saber de que manera puedo realizar una consulta el último día del mes a las 11:58:00 p.m. de manera constante, se trata solo de una consulta. 

    podrias usar las task de windows

    TaskScheduler

    o podrias crear un servicio de windows

    en donde usarias librerias de scheduler

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 18 de abril de 2018 14:26
  • Muchas gracias por las respuestas, estoy evaluando las alternativas, hice un servicio con un hilo y bucle infinito (consume muchos recursos al parecer, inicio el servicio y después de unos minutos mi computadora parece avión).

    >>uso otro manejador  

    En realidad tengo DBeaver(cliente). 

    Estaré consultando las diferentes opciones que me han proporcionado y otra duda:

    Cual alternativa consideran menos "pesada" para el sistema operativo?

    Ya que, como escribí arriba hice un servicio que ejecuta un hilo el cual contiene un bucle infinito y que realiza una tarea cada 30 segundos (escribir un archivo en un fichero), fue un ejemplo demostrativo, pero al parecer consume mucho, quiero pensar que es bucle while(true) que le puse. 

    viernes, 20 de abril de 2018 18:35
  • Nuevamente:  El sistema operativo tiene tareas programadas.  Programe una a la hora específica y listo.

    Jose R. MCP
    Code Samples

    viernes, 20 de abril de 2018 18:42
    Moderador
  • Puedo hacerlo con código c# (Un window service, task, hilos ,existen en c#??)

    Sí, la forma de hacerlo es con un Windows Service... pero no merece la pena que te pongas a escribir el servicio en C#, dado que ese servicio ya existe y viene incluido "de fábrica". Se llama el Programador de tareas de Windows. Y el Programador de Tareas puede ejecutar cualquier comando que tú quieras, que podría ser una aplicación de consola escrita en C#. Esto es más sencillo de hacer (y de instalar y configurar) que un Servicio escrito directamente en C#.

    Pero si a pesar de todo has decidido escribir el servicio en C# y consume demasiados recursos, casi seguro que eso indica que se te olvidó meter el Thread.Sleep en el hilo. Pista: Toma la hora a la que quieres ejecutar el programa, resta la hora actual, conviértelo en milisegundos y haz un Sleep que dure ese número de milisegundos.

    domingo, 22 de abril de 2018 16:19
    Moderador