안녕하세요 프로 시저를 실행하기 위해 작업 컨트롤러를 생성하고 있습니다. 내가DBMS_SCHEDULER.set_job_argument_value - ORA-27473 : 인수가 존재하지 않습니다.
(17)로 오류라는 작업 제어기 절차를 실행하려고하면
JOB CONTROLLER 절차 '여기
CREATE OR REPLACE PROCEDURE "GCCPMAINT"."JOB_CONTROLLER" as programTotal number; BEGIN dbms_scheduler.create_program ( program_name => 'PGM_CLEANSE_BRNGB', program_type => 'STORED_PROCEDURE', program_action => 'OPT_SALES', number_of_arguments => 1, enabled => FALSE); dbms_scheduler.DEFINE_PROGRAM_ARGUMENT( program_name=>'PGM_CLEANSE_BRNGB', argument_name=>'card_no', argument_position=>1, argument_type=>'varchar2'); dbms_scheduler.enable('PGM_CLEANSE_BRNGB'); DBMS_SCHEDULER.drop_job(job_name => 'JOB_Cleanse_BRNGB', force => true); dbms_scheduler.create_job('JOB_Cleanse_BRNGB',program_name=>'PGM_CLEANSE_BRNGB',auto_drop=> true,start_date=>SYSDATE,job_style=> 'LIGHTWEIGHT'); dbms_scheduler.set_job_argument_value( job_name=>'JOB_Cleanse_BRNGB', argument_name=>'card_no',---> error says here argument_value=>'1234'); dbms_scheduler.enable('JOB_Cleanse_BRNGB'); END;
내 프로그램의 조치 순서에
CREATE OR REPLACE PROCEDURE "OPT_SALES"(card_no VARCHAR2) as BEGIN DBMS_OUTPUT.PUT_LINE ('card-Number is'||card_no); END;
입니다 : 42 : 28 [@CALL - 0 행, 0.000 초] [오류 코드 : 27473, SQL 상태 : 99999] ORA-27473 : 인수 CARD_NO가 존재하지 않습니다. ORA-06512 :"SYS.DBMS_ISCHED"라인 244 ORA-06512 : "SYS.DBMS_SCHEDULER", 라인 716 ORA-06512 : "GCCPMAINT. job_controller가 "선 (27) ORA-06512 : 그것이 말하는 이유 라인 1
나는 오른쪽 인자를 가지고에서 다음 는"인수 CARD_NO는
아무도 제발 도와 드릴까요 "존재하지 않습니다.
이상합니다. 나를 위해 일했다. 어떤 oracle 버전입니까? – OldProgrammer
@OldProgrammer 11g 표준 버전 –
참조 http://dba.stackexchange.com/questions/42119/passing-parameters-to-a-procedure-executed-by-dbms-scheduler – Vadzim