利用 WSH 作定时工作流程

2016-01-29 17:27 11 1 收藏

利用 WSH 作定时工作流程,利用 WSH 作定时工作流程

【 tulaoshi.com - ASP 】

    一个很常见的 ASP 问题 : "如何定时工作流程执行网页?", 之所以会问这个问题大部分是因为管理员可能会利用一个 ASP 网页来作数据库维护的动作, 如备份...等, 在 Windows NT 平台有一个方法可以做工作流程, 那就是 AT 指令 + Schedule 服务, 但很可惜的是你并没有法度在命令列 (Command-Line) 执行 ASP 网页

  当然你可以在命令列执行 IE 并告诉它要求执行的网页, 例如: c:program filesinternet exploreriexplore.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 怎么做


  接下来看看如何用 WSH, 基本上和 ASP 的写法是一样的除了不需加上 ASP 分隔符 存盘的扩展名为 .vbs 。

  由于不是使用 asp.dll , 因此没有 ASP 的对象模式并不适用。

'请勿用 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 设定你的流程。
 

来源:http://www.tulaoshi.com/n/20160129/1501425.html

延伸阅读
利用WSH实现关闭计算机功能,其实很简单,采用下面的语句即可。 把下面的语句保存为test.vbs,然后运行,就可以看到效果。 Set objshell = wscript.CreateObject("Shell.Application") objshell.ShutdownWindows
标签: ASP
  1.概述 虽说不是只有NT5才有WSH,但NT5(WINDOWS2000)一定有WSH的。实际上,你在WIN98+PWS里,或者NT4+IIS4里,你就能找到 WSH。 WSH是微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境,在这个环境中,预定义了一些对象,同时也可以使用 COM里的其他对象。他使用一种脚本引擎来对脚本解释执行,微软自己支持VBSCRI...
标签: ASP
  Using the global.asa to schedule ASP code execution. Have you ever had some asp code that needed to execute every once in a while but, you just didn't know how to do it. There is a solution that doesn't involve running any scheduling or scripting software on the server and is actually very easy to get working....
定时开关是什么工作原理 像这个定时开关的东西我们是见得非常多的,像街道上的路灯就是最好的表现,再一个就是家里的智能空调等等,那么它这个定时开关的工作原理是怎么样的呢?肯定有非常多的小伙伴们想了解了解的,那么今天就由图老师带大家一起来看看这个定时开关的工作原理到底是怎么样的。 定时开关从功能上分为机械式定时开关和电...
标签: 电脑入门
很多朋友都非常喜欢Win7系统中可以自动切换壁纸的个性主题:多张美丽的壁纸在Win7桌面上定时切换,就像自动播放的幻灯片一样,酷炫又养眼。其实 Win7主题切换壁纸 的酷炫功能不仅可以给我们美丽个性的系统界面,还能用来帮忙碌白领们在天天凝视显示器的工作中大致 掌握时间 。 在写字间工作的白领们时间观念都超强,除了设定好的时间表事件...

经验教程

625

收藏

95
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部