调度正在进行的数据库进程

Scheduling a process in progress Database

有人可以帮助我如何在 Progress 数据库中安排这种代码,以便每天在特定时间生成 file.csv?

谢谢!

DEF STREAM st1.

OUTPUT STREAM st1 TO c:\temp\file.csv.

   PUT STREAM st1 UNFORMATTED 

                             SKIP.
 END.
OUTPUT STREAM st1 CLOSE.

没有"in the database"。数据库外部的 4gl 过程 运行 将使用 OS 作业调度程序或其他工具来触发 运行 您的过程的脚本。

如果这是 unix OS,那么自然的解决方案是使用 "cron"。可能的 crontab 条目可能是:

0 23 * * * /usr/local/bin/myjob.sh >> /var/log/myjob.lg

其中 myjob.sh 可能是:

#!/bin/sh
#

DLC=/usr/dlc
export DLC

$DLC/bin/_progres -b /db/dbname -p myjob.p

如果是Windows那么你可以设置一个"scheduled task"。该任务可能 运行 一个 BAT 文件,可能如下所示:

@echo off

set DLC=c:\progress\openedge

%DLC%\bin\_progres -b \path\dbname -p \path\myjob.p > \logpath\myjob.log

您可以使用 GUI 或使用 "schedtask" 命令设置计划任务,如下所示:

schtasks /CREATE /TN "Nightly" /SC DAILY /MO 1 /ST 23:55:00 /SD 01/01/2000 /TR \path\myjob.bat /RU userid