2012-09-03 171 views
0

我實現一個數據庫,這需要請求和回覆他們爲ApprovedDenied
我想添加功能,以便在特定的情況下,不要求在3天迴應,它會自動回覆爲Denied。它是數據庫中的一個狀態字段。
我在asp.net 3.5中使用sql server 2008與linq 3.5 除了檢查每個加載時間之外,還有其他方法嗎?修改數據庫

+0

確定您可以使用SQL代理作業,計劃任務,SSIS包。你能否更具體地瞭解你的需求? – Kane

+0

準確地說,我正在處理假期交易,如果我申請這個月的假期結束,那麼它的狀態應該是「等待」,直到月底前的一天。在月末,它應該被自動更改爲「請求被拒絕」。
如何得到這個?我還沒有使用過SQL代理作業,計劃任務,SSIS包。但有點意識到這些服務。
在這個標準中什麼會更有效率? – Sushant

回答

1

第一:我的答案是類似@AnandPhadke的,但有少許差別。

我有幾次這個問題我自己。

1)我通常爲這些類型的任務構建一個「機器人」。通過「機器人」,我的意思是一個非常簡單的控制檯應用程序,它只檢查數據庫並根據數據庫結果執行所需的操作。這個控制檯應用程序也能夠記錄它的活動(爲了調試目的等等,你可以使用開源的log4net來完成這個任務)。

2)然後讓標準Windows「任務計劃程序」定期調用我的控制檯應用程序。

以下是有關 「任務計劃」 的詳細信息:http://windows.microsoft.com/en-US/windows7/schedule-a-task

編輯/ UPDATE:

這是我想說明 Principal

有幾件事情的主要這可能會影響CPU的負載。首先計算密集型操作。我不知道你的數據庫設計是什麼樣子,但我確定知道你的SQL查詢越複雜(和更多數據這個複雜的查詢必須被處理),它將需要來自CPU的更多電力。嘗試優化您的查詢。

+0

感謝您的建議,這將是更多的資源飢餓? a)添加控制檯應用程序並調用通過任務管理器或 b)調用Web服務? – Sushant

+0

我不確定你的意思是「資源飢餓」嗎? :-)如果讓「任務計劃程序」定期運行您的控制檯應用程序 - 那麼它在執行時會佔用一些系統資源。如果您從Web服務調用控制檯邏輯 - 那麼在從那裏執行時會佔用一些系統資源。 我絕對不想愚蠢的你,但我可能誤解你要求的東西。根據我的觀點,我強烈建議「任務計劃」 - 控制檯應用程序 - 解決方案,因爲它的「簡單性」。 –

+0

我的意思是如果消耗更多的CPU ......數據庫的大小對您的解決方案而言很重要? – Sushant

1

我的建議是,

編寫Windows服務的每一個給定的時間間隔後whic將檢查數據庫,並執行operations.Just保持這種Windows服務運行always.At每一個時間間隔,將做的工作。

+0

嗨@AnandPhadke謝謝你的建議,使用這種情況下,多少負載將被添加到連接? – Sushant

+1

它將不得不在每個時間間隔連接到數據庫,如果表中有任何東西需要處理,則繼續其他操作,然後關閉連接。它取決於您想要連接到db的頻率。我的意思是時間間隔。我想你可以延遲5分鐘或10分鐘。 – AnandPhadke

1

如果您只是需要在間隔後修改SQL Server中的記錄,請使用SQL Server Agent。您可以設置一個可以隨時運行的作業,它可以像存儲過程那樣運行,可以檢查您想要的內容並更新匹配的記錄。下面是關於如何建立一個工作教程:

所有的

http://databases.about.com/od/sqlserver/ss/sql_server_agent_3.htm