gpt4 book ai didi

ASP中实现执行定时任务的方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章ASP中实现执行定时任务的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

当然你可以在命令列执行 IE 并告诉它要求执行的网页, 例如: c:\program files\internet explorer\iexplore.exe http://localhost/mypage.asp, 不过, 这绝对不是大部分的网站管理者所要的方法, 因为这必须要开启浏览器, 花费许多的系统资源, 此外, 还有一个缺点, 那就是执行 ASP 网页有逾时时间 (Timeout), 如果你要执行许多的流程工作, 你可能要更改 Timeout 时间, 太麻烦了,直接忽视.

在这一篇文章要介绍的是使用 WSH (Windows Scripting Host) 的解决方案.

假设你现在有一个广告轮拨系统, 你想将检查广告到期日这件工作自动化每天凌晨执行, 也就是当一则广告过期了, 便将其广告状态更改为停用, 我们先来看看资料表 AdInfo 字段 .

  。

复制代码代码如下:

AdId 广告代码 INT 
AdName 广告名称 VARCHAR(64) 
ValidToDate 广告到期日 DateTime 
AdStatus 广告状态 INT (0为停用, 1为进行)

  。

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

由于不是使用 asp.dll , 因此没有 ASP 的对象模式并不适用,所以这样写Server.CreateObject会报错.

利用 WSH 作定时工作流程 :

复制代码代码如下:

'请勿用 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

  。

接着你可以到数据库下查询资料是否更新, 在实际的应用上, 建议你使用批此档来区分不同时段的工作, 好比说我会创造一支名为 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 设定你的流程。

  。

下面是数据库的截图:

ASP中实现执行定时任务的方法

最后此篇关于ASP中实现执行定时任务的方法的文章就讲到这里了,如果你想了解更多关于ASP中实现执行定时任务的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com