频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> asp教程 -> 用 WSH 作定時工作排程

用 WSH 作定時工作排程

作者:未知  来源:转载  发布时间:2005-7-27 16:08:09  发布人:acx

减小字体 增大字体


利用 WSH 作定時工作排程

一個很常見的 ASP 問題 : "如何定時工作排程執行網頁?", 之所以會問這個問題大部分是因為管理員可能會利用一個 ASP 網頁來作資料庫維護的動作, 如備份...等, 在 Windows NT 平台有一個方法可以做工作排程, 那就是 AT 指令 + Schedule 服務, 但很可惜的是你並沒有法度在命令列 (Command-Line) 執行 ASP 網頁

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

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

WSH 的安裝


Windows 98, Windows 2000, IIS 4.0 已包含 WSH
WSH 包含在 IE 5.0 版本中
如果你是 Windows 95 使用者, 可以到微軟網站下載個別安裝程式
http://www.microsoft.com/msdownload/vbscript/scripting.asp
範例

假設你現在有一個廣告輪撥系統, 你想將檢查廣告到期日這件工作自動化每天凌晨執行, 也就是當一則廣告過期了, 便將其廣告狀態更改為停用, 我們先來看看資料表 AdInfo 欄位

AdId 廣告代碼 Int
AdName 廣告名稱 VarChar(64)
ValidToDate 廣告到期日 DateTime
AdStatus 廣告狀態 Int (0為停用, 1為進行)


先看看 ASP 怎麼做

<%
Set oConn = Server.CreateObject("Adodb.Connection")
oConn.Open YourConnString
sSQL = "update AdInfo set AdStatus=0 " _
   & "where ValidToDate<='" & Date & "'"
oConn.Execute(sSQL)
oConn.Close
Set oConn = Nothing
%>

接下來看看如何用 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:\scripts\updateadstatus.vbs, WSH 有兩個版本, 一為視窗版 (wscript.exe), 一為命令列版 (cscript.exe), 在這個例子我們將使用 (cscript.exe), 你可以在 DOS 命令列下執行

c:\>cscript c:\scripts\updateadstatus.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 設定你的排程
希望這篇文章對你有幫助!  


原作者:不详
来 源:不详



将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· Flash影片的倒转播放控制..
· 在ASP中用“正则表达式对..
· 增强网站的可访问性
· PHP 编码规范(13)
· 限制在本地127.0.0.1内调..
· 用PHOTOSHOP制作MM的艺术..
· Microsoft SQL Server 7..
· ASP.NET中编程杀死进程
· 一个基于web的QQ程序 1(..
· remote script文档(八)
· 军事武器图片3
· 用FLASH MX制作动画卡通..
· 孙雁:八零后的女闪客
· 按下回车键指向下一个位..
· 统计显示10月底全球网站..
· 网页表单元素Input的高级..
相关文章
· 利用WSH作定時工作排程(转..
· 利用 WSH 作定时工作流程
· 用 WSH 像ASP 一样 查询数据..
· 利用WSH作定時工作排程
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号