2010-11-17 42 views
1

我正在構建一個ASP.Net網站,我有一個數據庫表,我想爲其重置所有行中的一列。列類型:字節觸發適時事件的最佳方式

我想在午夜每天都這樣,在一個自動的方式。我知道我可以在SQL Server Management Studio中設置一個工作,但我想以編程方式完成此任務,並且我的網站將成爲它的觸發器。

我使用C#.NET 2008和MS SQL Server 2005

即(僞代碼)

if(new_day)// can we be accurate that time here will be around 12:00:05 at maximum? 
    // call sql stored procedure to reset that column 
+0

堅持使用SQL Server作業。 – 2010-11-17 16:42:24

+0

SSIS Job是最好的解決方案。如果需要,您可以在任務中編寫C#代碼,但您想要做的是基本SQL。此外,如果您知道值出現錯誤或您想要實時修復,則可以創建觸發器或修改SQL/SP以在原始寫入期間修復數據。 – Zachary 2010-11-17 16:49:18

回答

1

您的網站只執行。最好的解決方案是直接使用SQL Server來調度任務,創建自己的服務或使用Windows任務調度程序定期執行應用程序。

但是,如果你在託管環境中,您可能無法做任何這一點。在這種情況下,您可以使用緩存來模擬服務。 Omar Al Zabir在CodeProject上有一篇文章,解釋瞭如何做到這一點:Simulate a Windows Service using ASP.NET to run scheduled jobs

1

如果你真的想:創建一個Scheduled Task調用你的網站每天午夜。網站本身不能觸發自己,但任務可以做到這一點。

但真正:剛剛成立一個SQL作業。

2

你能在C#一個簡單的Windows服務,將在後臺運行,但考慮到所有你想要做的是使數據庫的更新,這是最好的保持它在DB ....我建議與去在SQL

0

SQL代理作業計劃的作業計劃在指定時間運行。當請求一個頁面時使其不能充當定期執行任務的服務