2012-04-13 40 views
0

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

任何帮助表示赞赏...

+0

:/ http://forum.lessthandot.com/viewtopic.php?f=17&t=11400调度SQL Server的工作 - 对谷歌 – MilkyWayJoe 2012-04-13 20:54:05

回答

1

您可以使用Windows任务计划程序进行此类工作。看hereSchtasks命令行选项(有吨他们的)

例1:

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

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

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 
+0

这就是我需要的!你能否指定所有的参数,如果我想每28天(或任何一天)运行该程序?只是为了测试目的... – myrmix 2012-04-13 21:36:57

9

这听起来像是你应该建立一个计划任务,SQL服务器的工作,而不是通过一个定时器有一个月的过程运行?

链接:

我猜你也可以设置一个任务作为Windows服务,并通过在数据库中设置检查你做了更新的最后一次,但这似乎是矫枉过正。从它的声音,你已经有一个C#应用程序设置完成这项工作,所以我只是做一个计划的Windows任务。

+0

好点的第一个结果,增加了链接。 – 2012-04-13 20:54:09

+0

我不想用SQL服务器做这件事,我会看看第二篇文章,我认为它可以解决我的问题。 – myrmix 2012-04-13 21:32:32

+1

我认为最适合你。 SQL服务器的工作确实很好,我们一直用它来完成各种任务,所以我会鼓励熟悉它们。 – 2012-04-13 21:34:34