首頁(yè) > 開(kāi)發(fā) > Asp > 正文

利用 WSH 作定時(shí)工作流程

2018-10-16 21:06:53
字體:
來(lái)源:轉載
供稿:網(wǎng)友
一個(gè)很常見(jiàn)的 ASP 問(wèn)題 : "如何定時(shí)工作流程執行網(wǎng)頁(yè)?", 之所以會(huì )問(wèn)這個(gè)問(wèn)題大部分是因為管理員可能會(huì )利用一個(gè) ASP 網(wǎng)頁(yè)來(lái)作數據庫維護的動(dòng)作, 如備份...等, 在 Windows NT 平臺有一個(gè)方法可以做工作流程, 那就是 AT 指令 + Schedule 服務(wù), 但很可惜的是你并沒(méi)有法度在命令列 (Command-Line) 執行 ASP 網(wǎng)頁(yè)

當然你可以在命令列執行 IE 并告訴它要求執行的網(wǎng)頁(yè), 例如: c:/program files/internet explorer/iexplore.exe http://localhost/mypage.asp, 不過(guò), 這絕對不是大部分的網(wǎng)站管理者所要的方法, 因為這必須要開(kāi)啟瀏覽器, 花費許多的系統資源, No Good! 此外, 還有一個(gè)缺點(diǎn), 那就是執行 ASP 網(wǎng)頁(yè)有逾時(shí)時(shí)間 (Timeout), 如果你要執行許多的流程工作, 你可能要更改 Timeout 時(shí)間, 哇! 太麻煩! No good!

在這一篇文章要介紹的是使用 WSH (Windows scripting Host) 的解決方案。

WSH 的安裝

Windows 98, Windows 2000, IIS 4.0 已包含 WSH ,WSH 包含在 IE 5.0 版本中,如果你是 Windows 95 使用者, 可以到微軟網(wǎng)站下載個(gè)別安裝程序 http://www.microsoft.com/msdownload/vb&#115cript/scripting.asp 。
范例

假設你現在有一個(gè)廣告輪撥系統, 你想將檢查廣告到期日這件工作自動(dòng)化每天凌晨執行, 也就是當一則廣告過(guò)期了, 便將其廣告狀態(tài)更改為停用, 我們先來(lái)看看資料表 AdInfo 字段 。

AdId 廣告代碼 Int
AdName 廣告名稱(chēng) VarChar(64)
ValidToDate 廣告到期日 DateTime
AdStatus 廣告狀態(tài) Int (0為停用, 1為進(jìn)行)

先看看 ASP 怎么做


接下來(lái)看看如何用 WSH, 基本上和 ASP 的寫(xiě)法是一樣的除了不需加上 ASP 分隔符 存盤(pán)的擴展名為 .vbs 。

由于不是使用 asp.dll , 因此沒(méi)有 ASP 的對象模式并不適用
利用 WSH 作定時(shí)工作流程

2001-07-15? ?不詳??


上一頁(yè) 1 2 3

'請勿用 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:/scripts/updateadstatus.vbs, WSH 有兩個(gè)版本, 一為窗口版 (wscript.exe), 一為命令列版 (cscript.exe), 在這個(gè)例子我們將使用 (cscript.exe), 你可以在 DOS 命令列下執行 :

c:/>cscript c:/scripts/updateadstatus.vbs

接著(zhù)你可以到 Query Analyzer 下查詢(xún)資料是否更新, 在實(shí)際的應用上, 建議你使用批此檔來(lái)區分不同時(shí)段的工作, 好比說(shuō)我會(huì )創(chuàng )造一支名為 dailytask.bat 的批次檔來(lái)執行所有的每日例行工作, 如此一來(lái), 我只需將所有每日應執行的 script 放到這支批次檔即可, 然后利用 AT Command 或是 SQL Server Agent 定時(shí)每日執行 dailytask.bat 。

強烈建議使用 SQL Server Agent, 這會(huì )比使用 AT Command 來(lái)得有效率且穩定! 設定 SQL Server Agent 你可以執行 Enterprise Manager, 展開(kāi)后會(huì )看到這樣的畫(huà)面。

鼠標右點(diǎn) Jobs, 選擇 New Job 。
選擇 Step 按 New 。
指定 Step Name , Type 請選擇 Operating System Command, 并設定執行的 Command 。
選擇 Schedule 設定你的流程。

發(fā)表評論 共有條評論
用戶(hù)名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選