2012-06-08 68 views
-2

我想在我的項目中實現一個調度程序。我的目標是實施ETL過程。 這意味着在每天結束的時候我都想從我的數據庫中讀取數據,然後創建一個XML文件並將其上傳到某個遠程系統。 對於實施,我完成了除計劃之外的所有過程。C#Job Scheduler

如果有人知道請幫我下面的事情。

  1. 添加一個新類來處理調度
  2. 如何使用定時器在C#創建調度(如何添加和使用)
  3. 如何調用該計時器在指定的時間十一時四十五分(23.45 )

請提供一些示例代碼

在此先感謝...

+0

過於寬泛或只是要求源代碼的通常問題不是很好的問題。幸運的是[如何改進](http://stackoverflow.com/questions/how-to-ask)。 –

+0

爲什麼不在數據庫管理系統中使用內置的數據導出功能?我確信所有的DBMS都有這種通過工作建立起來的東西。 –

回答

0

由於你想每天運行它,並且因爲你沒有認爲程序需要一直運行(例如,通過WCF服務與應用程序進行通信),我建議你讓你的應用程序從Windows調度器啓動。

+0

@ downvoter:謹慎評論你爲什麼downvoted? – citronas

1

我在控制檯應用程序中嘗試了一些簡單的作業調度。

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"); 
      } 
     } 
    } 
相關問題