Foros del Web » Programación para mayores de 30 ;) » .NET »

Como hacer para que mi servicio windows ejecute un metodo en BD Oracle de aplicacion

Estas en el tema de Como hacer para que mi servicio windows ejecute un metodo en BD Oracle de aplicacion en el foro de .NET en Foros del Web. Buenas tardes gente ... tiempo sin pasearme por aca ... ... les comento mi nuevo dolor de cabeza ... Tengo un servicio windows que debe ...
  #1 (permalink)  
Antiguo 24/01/2011, 12:32
 
Fecha de Ingreso: agosto-2010
Mensajes: 14
Antigüedad: 13 años, 8 meses
Puntos: 0
Como hacer para que mi servicio windows ejecute un metodo en BD Oracle de aplicacion

Buenas tardes gente ... tiempo sin pasearme por aca ... ... les comento mi nuevo dolor de cabeza ... Tengo un servicio windows que debe ejecutar una tarea a determinada hora del dia una vez al dia. La tarea es que debe actualizar n tablas de la BD oracle de mi aplicacion web.

del lado web ya implemente y probe los querys que deben llevar a cabo esta tarea y funcionan sin problema.

del lado del cliente tengo el servicio windows implementado que no estoy seguro de haber configurado bien pues nada sucede cuando lo instalo desde Visual Studio.

no se si se deba a un problema de configuracion del servicio o que necesito "algo adicional" para que se ejecute el metodo.

Me dijeron que usara Quartz y nada sucede.

estoy usando Visual Studio 2008, framework 3.5, Oracle 10g.

No puedo hacer que el servicio windows "dispare" el metodo que ejecuta la tarea en BD


aca la parte de la configuracion

public void Iniciar()
{
var hora = DateTime.Now.Hour;
var minuto = DateTime.Now.Minute ;

if (!EventLog.SourceExists("ActualizarEstatus"))
EventLog.CreateEventSource("ActualizarEstatus", "LogActualizarEstatus");

_eventLog.Source = "ActualizarEstatus";
_eventLog.Log = "LogActualizarEstatus";
_eventLog.WriteEntry("Se ha iniciado el servicio de Actualizacion de Estatus");

var planificador = new StdSchedulerFactory().GetScheduler();

var disparador = TriggerUtils.MakeDailyTrigger(hora, minuto);
disparador.Name = "ActualizarEstatus";
disparador.Group = "Procesamiento";

var job = new JobDetail("ActualizarEstatus", "Procesamiento", typeof(JobActualizarEstatus));
planificador.ScheduleJob(job, disparador);
planificador.Start();
}

aca la parte del servicio

protected override void OnStart(string[] args)
{
_timer = new Timer(1 * 60 * 1000);
_timer.Elapsed += (TimerElapsed);

//var servicio = new ServicioActualizarEstatus();
//servicio.Iniciar();
}

private void TimerElapsed(object sender, ElapsedEventArgs e)
{
if (_lastRun.Date.Minute < DateTime.Now.Minute)
{
// stop the timer while we are running the cleanup task
_timer.Stop();
//
var servicio = new ServicioActualizarEstatus();
servicio.Iniciar();
//
_lastRun = DateTime.Now;
_timer.Start();
}
}

la parte que aparece comentada en OnStart es como lo tenia antes y que aparece ahora en el evento

a cualquier guru del tema le agradezco toda su ayuda

Etiquetas: bd, metodo, oracle, servicio, windows, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:00.