调度正在进行的数据库进程
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
有人可以帮助我如何在 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