前言
常有人希望在某个特定时间,可以自动某支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程式。