【问题标题】:Use Task Scheduler to run a ASP file?使用任务计划程序运行 ASP 文件?
【发布时间】:2017-11-22 10:13:56
【问题描述】:

您好,我希望每天早上 9 点运行以下代码。基本上,代码会从每一行读取一个 txt 文件。它将处理并插入到 Mysql 表中。我该如何做到这一点?我找到了以下Make server automatic run asp-script every day,但它不起作用。请帮忙。

  <%
    strFileName = "database/testdata.txt"                                        

    Set fso = Server.CreateObject("Scripting.FileSystemObject") 
    set fs = fso.OpenTextFile(Server.MapPath(strFileName), 1, true) 
    if not fs.AtEndOfStream then
        Do while not fs.AtEndOfStream 
            strRow = fs.ReadLine
            sDate = Mid(Trim(strRow), 1, 8)

            Set rstTMClk1 = server.CreateObject("ADODB.RecordSet")    '=== Transfer from file to TMCLK1
            sSQL = "select * from TMCLK1 '" 
            rstTMClk1.Open sSQL, conn, 3, 3
            if rstTMClk1.eof then '=== To avoid duplicates
                sSQL = "insert into TMCLK1 (DT_WORK) "
                sSQL = sSQL & "values ("
                sSQL = sSQL & "'" & fdate2(sDate) & "'"     
                sSQL = sSQL & ") "
                conn.execute sSQL
            end if
            pCloseTables(rstTMClk1)
        Loop
    end if
    pCloseTables(fs)
%>

【问题讨论】:

  • 将代码复制到 VBS 文件中,将 Server.CreateObject 的所有引用更改为仅 CreateObject,设置您的工作,一切顺利。

标签: vbscript asp-classic taskscheduler


【解决方案1】:

根据@JoshMontgomery 的评论,您可以将其设置为 vbscript 作业并从任务执行器调用它。您可能面临的唯一问题是文件夹/文件访问,因为计划的作业将作为某些系统分配的用户帐户(如 Network)运行。

如果您仍想将其作为 asp 页面运行,请检查它是否在通过浏览器地址栏中的 URL 手动调用时运行。确保从运行计划任务的服务器上执行此操作。

然后将其移至计划任务。我使用来自http://www.gnu.org/software/wget/ 的 wget,它是一个免费的命令行 http 实用程序 - 给它你在地址栏中的 URL,然后你就可以走了。对于计划任务,将操作 wget.exe 和参数设置为 ASP 页面的完整 URL。

【讨论】:

    猜你喜欢
    • 2018-07-27
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    相关资源
    最近更新 更多