我想明天04:15开始,每两小时后启动计划作业。这项工作应该每天开始,每两小时后开始。喜欢的东西在:04:15,06:15,08:15 ....计划的作业没有推出
的程序是关于在远程计算机创建文件。当我测试程序时,它工作得很好,并在远程位置创建文件。但是,它在dbms_jobs包中作为一项工作失败。我不确定我做错了什么。下面是程序代码:
CREATE OR REPLACE PROCEDURE ARC_HRVR.VR_AD_INTEGRATION_EXPORT AS
v_file UTL_FILE.file_type;
BEGIN
v_file := UTL_FILE.fopen('DIR_VR_AD_INTEGRATION', 'HRMtoAD1_'||to_char(sysdate,'YYYYMMDD')||'_'||to_char(sysdate,'HH24MISS'), 'w', 32767);
FOR x IN (
SELECT * FROM (SELECT
decode(pid, NULL, RPAD(' ',7,' '), RPAD(user_id, 7, ' '))|| '' ||
decode(o365, NULL, RPAD(' ',80,' '), RPAD(o365, 80, ' '))
str FROM table WHERE integrated = 'N') str WHERE rownum <= 1000 ORDER BY rownum)
´LOOP
BEGIN
UTL_FILE.put_line(v_file, x.str);
END;
END LOOP;
UTL_FILE.fflush(v_file);
UTL_FILE.fclose(v_file);
END VR_AD_INTEGRATION_EXPORT;
这里是开展工作的代码:
DECLARE
l_id binary_integer;
begin
dbms_job.submit(job => l_id, what => 'ARC_HRVR.vr_ad_integration_export();', interval => 'TRUNC(SYSDATE)+1+4.25/24',);
dbms_output.put_line(l_id);
end;
指导和调整的位将修复我的代码:-) 预先感谢
你'dbms_job.submit'呼叫与')结束;'。这肯定是错误的。是复制粘贴错误? – 2012-07-27 06:49:25
是的,这是复制粘贴错误...在客户公司交谈后,DBA现在工作正常 – Jaanna 2012-07-27 09:31:07
无关,但对于它的价值:你真的不需要周围的包裹内循环额外'BEGIN ... END' utl_file.put_line过程。 – Wolf 2012-07-27 15:11:13