我已经到处搜寻这个错误,但看来我的问题很独特。我正在尝试在Oracle 11g的程序包中安排一个过程。我已经成功创建了一个程序包和一个过程。现在,我需要计划此程序包每天在2200hrs执行,从今天的1710hrs开始。我写了这样的调度程序:
BEGIN
SYS.DBMS_SCHEDULER.CREATE_PROGRAM
(
program_name => 'SIMBABI.EXTRACTOR'
,program_type => 'STORED_PROCEDURE'
,program_action => 'SIMBABI.BIEXTRACTOR.SIMBABIEXTRACTOR'
,start_date=> trunc(sysdate)+17.10/24
,repeat_interval=> 'FREQ=DAILY; BYDAY=MON,TUE,WED,THU,FRI,SAT,SUN; BYHOUR=22;'
,enabled => TRUE
,number_of_arguments => 0
,auto_drop=>false
,comments => 'EXTRACTION FOR BI DATA'
);
SYS.DBMS_SCHEDULER.ENABLE
(name => 'SIMBABI.EXTRACTOR');
END;
/
我的过程或程序包中没有任何参数:
CREATE OR REPLACE package body SIMBABI.biextractor as
procedure SIMBABIEXTRACTOR is
begin
insert into general_accounts_master
select foracid,
acid,
acct_n......
当我尝试编译调度程序时,出现错误:
PLS-00306: wrong number or types of arguments in call to 'CREATE_PROGRAM'
我在做什么不正确?
您提供了CREATE_PROGRAM没有的一些参数。
这些额外的参数对CREATE_SCHEDULE或CREATE_JOB有效,但对CREATE_PROGRAM无效。
CREATE_PROGRAM接受以下参数:
DBMS_SCHEDULER.CREATE_PROGRAM (
program_name IN VARCHAR2,
program_type IN VARCHAR2,
program_action IN VARCHAR2,
number_of_arguments IN PLS_INTEGER DEFAULT 0,
enabled IN BOOLEAN DEFAULT FALSE,
comments IN VARCHAR2 DEFAULT NULL);
创建程序之后,可以使用CREATE_SCHEDULE或CREATE_JOB安排程序的执行时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句