安排计时器每月执行一次 – C#

我需要每月一次从SQL Server向MySQL传输一些数据。 我已经完成了这个转移的东西,但我不知道(我还没有在互联网上找到)如何设置一个计时器,每个月在特定日期执行此转移。 我不想仅以毫秒为单位设置计时器间隔,因为天数从一个月到另一个月不等。

任何帮助表示赞赏……

您可以使用Windows任务计划程序进行此类工作。 在这里查看Schtasks命令行选项(其中有很多)

例1:

计划在每个月的第一天运行的任务

以下命令安排MyApp程序在每个月的第一天运行。 因为值为1是/ mo(修饰符)参数和/ d(日)参数的默认值,所以这些参数将从命令中省略。

 schtasks /create /tn "My App" /tr myapp.exe /sc monthly 

例2:

安排第15天的任务

以下命令安排MyApp程序在每个月的15日(下午3:00(15:00))运行。 它使用/ d参数指定日期。 它还使用/ st参数指定开始时间。

 schtasks /create /tn "My App" /tr myapp.exe /sc monthly /d 15 /st 15:00 

这听起来像你应该设置为计划任务或SQL服务器作业,而不是通过计时器运行一个月的进程?

链接:

  • SQL Server在2008年的工作
  • 安排Windows任务

我想你也可以设置一个任务作为Windows服务,并通过数据库中的设置检查你上次更新,但这似乎有点过分。 从它的声音,你已经有一个C#应用程序设置,完成工作,所以我只是做一个预定的Windows任务。