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