ASP.NET Update数据库每小时一次

时间:2011-09-18 23:55:14

标签: c# asp.net sql

我想在asp.net网站上每小时将一行从表A复制到表B.我怎样才能做到这一点?我需要win32应用程序吗?我想避免这种情况。

5 个答案:

答案 0 :(得分:6)

这听起来像是要创建存储过程并使用Sql Server Jobs调度程序每小时运行一次。有关设置

的详细信息,请参阅here

或者,如果您使用的是Sql Express,请参阅此question "How to run a stored procedure every day in SQL Server Express Edition?"

理想情况下,除非出于某种原因无法访问数据库,否则不会使用IIS等。

答案 1 :(得分:2)

您可以使用Timer。 如果使用SQL Server,还可以直接在DB上安排作业。

答案 2 :(得分:2)

您可以创建一个完成此操作的网页,并使用pingdom.com等免费服务每小时调用该页面。

编辑: 我的路很容易,可能不是最好的解决方案,但快速而简单

您也可以查看: http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

答案 3 :(得分:2)

我同意brodie。另外,创建一个SSIS包,并从命令行(使用DTEXEC)作为SQL作业或计划任务运行。

http://msdn.microsoft.com/en-us/library/ms365302.aspx - 向您展示如何创建基本解决方案。

http://decipherinfosys.wordpress.com/2008/09/17/scheduling-ssis-packages-with-sql-server-agent/ - 向您展示如何安排任务。

对于你的运动或者可以做到这一点。我建议使用你觉得比较熟悉的任何一种。但肯定不建议创建一个计时器驱动的服务。

答案 4 :(得分:0)

请参阅此示例,以在全局asax http://www.mikesdotnetting.com/Article/129/Simple-task-Scheduling-using-Global.asax

中创建新线程

请注意,如果网站发生故障,该过程将无法继续运行,如果这是一个问题,sql批处理作业或Windows服务将更适合,如果任务是资源密集型,那么这样做会更好无论如何,在另一台机器上,因为全局的asax方法将从您的网站上带走处理资源