none
generar un .exe mediante codigo vb.net RRS feed

  • Pregunta

  • Hola chicos,

    Les quería hacer una pregunta,

    Tengo que realizar un código el cual me llame a un SP que hace que se cierren una serie de procesos mediante un cursor, también me dice cuantos procesos se cerraron y la fecha actual, en mi codigo vb tengo que capturar esos datos y enviárselos por mail a un usuario en específico, pero lo que me pidieron es que de todo esto se genere un .exe el cual  lo debo dejar como una tarea programada de lunes a viernes a las 7 am, mi problema es que no sé como hacer que el codigo sea vaya a un .exe, tampoco sé como debugear ya que no tiene diseño, algún form nada.

    gracias.

    les dejo el sp solo para que vean lo que hace, ya que todavía no empiezo con la progra en vb.net  ya que quiero una idea de como hacerlo para que mi codigo se vaya a un .exe

    gracias

    -----

    ALTER PROCEDURE [dbo].[SP_CierraProcesos]
    as
    begin
    DECLARE @idproceso As int 
    DECLARE @cantidad as int   
    DECLARE @fechaactual as datetime
    set @fechaactual = GETDATE()
    DECLARE Procesos CURSOR FOR               
                 
    SELECT [Id]
    FROM [RPEPROD].[dbo].[LIC_Licitacion]
    WHERE IDESTADOLICITACION NOT IN (3,6)
    AND IDEBOR = 0
    AND DATEDIFF ( DAY , FECHACREACION,GETDATE()) > 120
    AND ESPUBLICA = 1
    order by 1 desc
    /*
    1 Pendiente
    2 Activo
    3 Cerrada
    4 Adjudicada
    5 En Edición
    6 Desierta/Cancelada*/

    SELECT @cantidad = count(*)
    FROM [RPEPROD].[dbo].[LIC_Licitacion]
    WHERE IDESTADOLICITACION NOT IN (3,6)
    AND IDEBOR = 0
    AND DATEDIFF ( DAY , FECHACREACION,GETDATE()) > 120
    AND ESPUBLICA = 1

                 
    OPEN Procesos
                 
    FETCH NEXT FROM Procesos
    INTO @idproceso
                 
    WHILE @@FETCH_STATUS = 0              
    BEGIN                  
               
    BEGIN              
    UPDATE LIC_LICITACION
    SET idEstadoLicitacion = 3
    WHERE ID = @idproceso
    AND idEstadoLicitacion IN (1,2,4,5)
    END

    FETCH NEXT FROM Procesos
    INTO @idproceso
    END              
                         
    CLOSE Procesos
    DEALLOCATE Procesos

    select @cantidad;
    select @fechaactual;
    END

     

    • Cambiado Enrique M. Montejo lunes, 25 de abril de 2016 14:51 Pregunta relacionada con el acceso a datos.
    viernes, 22 de abril de 2016 18:28

Todas las respuestas

  • Hola,

    Necesariamente tienes que hacer todo ese proceso manualmente?, me refiero a crear un .exe, para ejecutar el StoredProcedure, tomar los valores y enviarlos al usuario (supongo que necesitas un formulario de envío), además tienes que ejecutarlo como una tarea programado cada intervalo de tiempo.

    Si usas MSSQL, todo el requerimiento que expones, puede darse programando una sola vez.

    Creas un nuevo StoredProcedure donde ejecutarías el otro SP para que obtengas los datos y mediante SQL Mail envias el correo al destinatario. Además si usas Trabajos (Jobs), programas para que se ejecute automáticamente.

    Esto es solo una sugerencia.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    viernes, 22 de abril de 2016 19:26