前言
常有人希望在某個特定時間,可以自動某支ASP程式,進行某項作業,比如:發電子信、資料庫整理等。
方法
一、你可以去找aspexe元件來使用
二、你可以使用WSH的方式來處理。以下文章是轉載至某個大陸網站(我已經忘了出處了~)
WSH基本上和ASP的寫法是一樣的除了
不需加上ASP分隔符號
存檔的副檔名為.vbs
由於不是使用asp.dll,因此沒有ASP的物件模式並不適用
無法使用伺服端包含,因此一些ADO常數需自行宣告
'請勿用Server.CreateObject
SetoConn=CreateObject("Adodb.Connection")
oConn.OpenYourConnString
sSQL="updateAdInfosetAdStatus=0"_
&"whereValidToDate<='"&Date&"'"
oConn.Execute(sSQL)
oConn.Close
SetoConn=Nothing
將檔案存為c:scriptsupdateadstatus.vbs,WSH有兩個版本,一為視窗版(wscript.exe),一為命令列版(cscript.exe),在這個例子我們將使用(cscript.exe),你可以在DOS命令列下執行
c:>cscriptc:scriptsupdateadstatus.vbs
接著你可以到QueryAnalyzer下查詢資料是否更新,在實際的應用上,建議你使用批此檔來區分不同時段的工作,好比說我會創造一支名為dailytask.bat的批次檔來執行所有的每日例行工作,如此一來,我只需將所有每日應執行的script放到這支批次檔即可,然後利用ATCommand或是SQLServerAgent定時每日執行dailytask.bat
強烈建議使用SQLServerAgent,這會比使用ATCommand來得有效率且穩定!設定SQLServerAgent你可以執行EnterpriseManager,展開後會看到這樣的畫面
滑鼠右點Jobs,選擇NewJob
選擇Step按New
指定StepName,Type請選擇OperatingSystemCommand,並設定執行的Command
選擇Schedule設定你的排程
三、使用vbs的程式,並在WINDOWS自動排程下,指定由IE來啟動你已撰寫完成的ASP程式。