2015-08-19 52 views
2

我有SQL Server 2012默認安裝在godaddy共享主機。我想在下午12點執行存儲過程。是否可以安排一項任務?請幫幫我。自動調用存儲過程

+1

看看SQL作業調度, https://msdn.microsoft.com/en-us/library/ms191439.aspx或者你可以創建附加到Windows服務或調度程序的控制檯應用程序 – Sherlock

回答

2

如果可用,Sql代理作業將是最好的。更糟糕的方法是在A WAITFOR延遲後使存儲過程執行你想要的。它會工作,但我不能推薦它。

0

由於您使用共享主機,我不認爲SQL作業將可用(我檢查了我的GoDaddy帳戶,它不顯示)。你在使用Plesk嗎?如果是這樣,你可以嘗試一下解決方法。啓動您的面板,然後點擊右側菜單中的計劃任務。

從這裏,您可以創建一個新的計劃任務。它會要求一個可執行文件的路徑,在這裏你可以指定一個你想按計劃運行的ASPX頁面(或者一個PHP頁面)。

您的ASPX頁面將只是簡單地打開一個連接並執行存儲過程。它看起來像這樣:

<%@ Import Namespace="System" %> 
<%@ Import Namespace="System.Data" %> 
<%@ Import Namespace="System.Data.SqlClient" %> 
<%@ Page Language="c#" %> 
<% 
    using (SqlConnection cn = new SqlConnection("connection string here")) { 
     SqlCommand cmd = new SqlCommand { 
      Connection = cn, 
      CommandText = "StoredProcedureNameHere", 
      CommandType = CommandType.StoredProcedure 
     }; 

     cmd.Parameters.Add("exampleParam1", SqlDbType.NVarChar, 50).Value = "test"; 

     cn.Open(); 
     int rowsAffected = cmd.ExecuteNonQuery(); 
     cn.Close(); 
    } 
%> 

在這一點上,你應該很好走!