我想在我的项目中实现一个调度程序。我的目标是实施ETL过程。 这意味着在每天结束的时候我都想从我的数据库中读取数据,然后创建一个XML文件并将其上传到某个远程系统。 对于实施,我完成了除计划之外的所有过程。C#Job Scheduler
如果有人知道请帮我下面的事情。
- 添加一个新类来处理调度
- 如何使用定时器在C#创建调度(如何添加和使用)
- 如何调用该计时器在指定的时间十一时四十五分(23.45 )
请提供一些示例代码
在此先感谢...
我想在我的项目中实现一个调度程序。我的目标是实施ETL过程。 这意味着在每天结束的时候我都想从我的数据库中读取数据,然后创建一个XML文件并将其上传到某个远程系统。 对于实施,我完成了除计划之外的所有过程。C#Job Scheduler
如果有人知道请帮我下面的事情。
请提供一些示例代码
在此先感谢...
由于你想每天运行它,并且因为你没有认为程序需要一直运行(例如,通过WCF服务与应用程序进行通信),我建议你让你的应用程序从Windows调度器启动。
@ downvoter:谨慎评论你为什么downvoted? – citronas
我在控制台应用程序中尝试了一些简单的作业调度。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Quartz;
using Quartz.Impl;
using Quartz.Job;
using System.Windows;
namespace WindowsTrainingTasks
{
public partial class Schedulerexample : Window
{
public Schedulerexample()
{
InitializeComponent();
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler quartzScheduler = schedFact.GetScheduler();
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity("HelloJob", "group1")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("DAMMetadataSyncTrigger")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(5)
.RepeatForever())
.Build();
quartzScheduler.ScheduleJob(job, trigger);
quartzScheduler.Start();
}
}
public class HelloJob : IJob
{
public void Execute(IJobExecutionContext context)
{
MessageBox.Show("Xenovex Technologies", "Xenovex5");
}
}
}
过于宽泛或只是要求源代码的通常问题不是很好的问题。幸运的是[如何改进](http://stackoverflow.com/questions/how-to-ask)。 –
为什么不在数据库管理系统中使用内置的数据导出功能?我确信所有的DBMS都有这种通过工作建立起来的东西。 –