代码之家  ›  专栏  ›  技术社区  ›  SK Yakub

ORA-27465:属性参数_位置的值1无效

  •  3
  • SK Yakub  · 技术社区  · 8 年前

    我在包裹里有这样的程序

    PROCEDURE prepBillInfoforAccrualIntr (p_date in date);
    

    --创建了一个程序

    BEGIN
      DBMS_SCHEDULER.CREATE_PROGRAM(PROGRAM_NAME        => 'MY_PROGRAM',
                                    PROGRAM_TYPE        => 'STORED_PROCEDURE',
                                    PROGRAM_ACTION      => 'GENEVA_ADMIN.IPGTIBCOAPIS_LMS_GENERIC_FIXED.PREPBILLINFOFORACCRUALINTR',
                                    NUMBER_OF_ARGUMENTS => 1,
                                    ENABLED             => FALSE,
                                    COMMENTS            => 'MY PROGRAM');
    END;
    

    BEGIN
      DBMS_SCHEDULER.DEFINE_PROGRAM_ARGUMENT(PROGRAM_NAME      => 'MY_PROGRAM',
                                             ARGUMENT_NAME     => 'P_DATE',
                                             ARGUMENT_POSITION => 1,
                                             ARGUMENT_TYPE     => 'DATE',
                                             DEFAULT_VALUE     => '');
    END;
    

    --已启用

    BEGIN
      DBMS_SCHEDULER.ENABLE(NAME => 'MY_PROGRAM');
    END;
    

    --创建作业

    BEGIN
      DBMS_SCHEDULER.CREATE_JOB(JOB_NAME   => 'MY_TEST_JOB',
                               -- PROGRAM_NAME => 'MY_PROGRAM',
                                JOB_TYPE   => 'STORED_PROCEDURE',
                                JOB_ACTION => 'GENEVA_ADMIN.IPGTIBCOAPIS_LMS_GENERIC_FIXED.PREPBILLINFOFORACCRUALINTR',
                                START_DATE => SYSDATE,
                                AUTO_DROP  => TRUE,
                                COMMENTS   => 'MY NEW JOB');
    END;
    

    BEGIN
      DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(JOB_NAME          => 'MY_TEST_JOB',
                                            ARGUMENT_POSITION => 1,
                                            ARGUMENT_VALUE    => '06-JUL-2017');
    END;
    

    它给出了以下错误。

    ORA-27465: invalid value 1 for attribute ARGUMENT_POSITION
    

    06-JUL-2017 . 我也试过了

    dbms_调度程序。设置_job\u anydata\u值

    但同样的错误。

    你能帮忙吗。

    2 回复  |  直到 8 年前
        1
  •  5
  •   SK Yakub    8 年前

    在里面 DBMS_SCHEDULER.CREATE_JOB 我们需要通过 NUMBER_OF_ARGUMENTS 因此 DBMS_SCHEDULER.SET_JOB_ANYDATA_VALUE DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE

    谢谢大家的支持。

        2
  •  0
  •   kfinity    8 年前

    From the docs

    BEGIN
      DBMS_SCHEDULER.SET_JOB_ANYDATA_VALUE(JOB_NAME          => 'MY_TEST_JOB',
              ARGUMENT_POSITION => 1,
              ARGUMENT_VALUE => SYS.ANYDATA.convertDate(TO_DATE('06-JUL-2017','DD-MON-YYYY')));
    END;