Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-27457 В чём ошибся?  [new]
Ura!
Member

Откуда:
Сообщений: 273
Пытаюсь создать Job:
begin
      DBMS_SCHEDULER.create_job (
      job_name        => 'XX_TEST',
      job_type        => 'STORED_PROCEDURE',
      job_action      => 'XX_JOB_UTILS.RUN_JOB',
      number_of_arguments => 2,
      start_date      =>  sysdate,       
      end_date        =>  sysdate + 1,
      repeat_interval => 'FREQ=HOURLY; INTERVAL=1',
      enabled         => TRUE);
      DBMS_SCHEDULER.set_job_argument_value(
      job_name          => 'XX_TEST'
      , argument_position => 1
      , argument_value    => 1);
      DBMS_SCHEDULER.set_job_argument_value(
      job_name          => 'XX_TEST'
      , argument_position => 2
      , argument_value    => '/tmp');
end;
При запуске ругается
ORA-27457: аргумент 1 задания "APPS.XX_TEST" не имеет значения
ORA-06512: на  "SYS.DBMS_ISCHED", line 99
ORA-06512: на  "SYS.DBMS_SCHEDULER", line 262
ORA-06512: на  line 2
т.е. ругается уже на создании джобаЮ а не на инициализации переменной. В конструкции не нашёл параметров для указания аргументов. Что он имеет ввиду под аргументом 1 ? Может не аргумент выполняемой хранимой процедуры?
12 апр 10, 18:22    [8617993]     Ответить | Цитировать Сообщить модератору
 Re: ORA-27457 В чём ошибся?  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116295
А у Вас процедура действительно находится в схеме APPS ?
12 апр 10, 18:34    [8618058]     Ответить | Цитировать Сообщить модератору
 Re: ORA-27457 В чём ошибся?  [new]
Ura!
Member

Откуда:
Сообщений: 273
Да в APPS. Чтобы не замрачиваться со схемами, пока делаю всё в одной.
12 апр 10, 18:45    [8618128]     Ответить | Цитировать Сообщить модератору
 Re: ORA-27457 В чём ошибся?  [new]
comphead
Member

Откуда: Киев
Сообщений: 3390
Ura!,

сигнатуру вызываемой в джобе процы дайте
12 апр 10, 18:49    [8618137]     Ответить | Цитировать Сообщить модератору
 Re: ORA-27457 В чём ошибся?  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116295
Глянул в доку. Вот такой пассаж нашел

автор
SET_JOB_ARGUMENT_VALUE can be used to set arguments of lightweight jobs but only if the argument is of type VARCHAR2.


У меня нет опыта применения, но похоже, работает только для VARCHAR2
12 апр 10, 18:53    [8618165]     Ответить | Цитировать Сообщить модератору
 Re: ORA-27457 В чём ошибся?  [new]
Ura!
Member

Откуда:
Сообщений: 273
Сигнатура, это описание? Вот она:
CREATE OR REPLACE PACKAGE XX_JOB_UTILS AS

  PROCEDURE RUN_JOB (pJOB_ID Number, pDir Varchar2);

END XX_JOB_UTILS;
12 апр 10, 19:00    [8618194]     Ответить | Цитировать Сообщить модератору
 Re: ORA-27457 В чём ошибся?  [new]
Ura!
Member

Откуда:
Сообщений: 273
dmidek
Глянул в доку. Вот такой пассаж нашел

автор
SET_JOB_ARGUMENT_VALUE can be used to set arguments of lightweight jobs but only if the argument is of type VARCHAR2.


У меня нет опыта применения, но похоже, работает только для VARCHAR2

Перевёл на варчар2 параметры, та же ошибка :(
14 апр 10, 09:24    [8625501]     Ответить | Цитировать Сообщить модератору
 Re: ORA-27457 В чём ошибся?  [new]
Ura!
Member

Откуда:
Сообщений: 273
В пакете написано про эту функцию:
-- Set a value to be passed to one of the arguments of the program (either
-- named, or inlined). If program is inlined, only setting by position is
-- supported. The passed value will override any default value set during
-- definition of the program argument and overwrite any value previously set
-- for this argument position for this job (the previous value will be lost).

Что означает program is inlined ?
14 апр 10, 09:29    [8625525]     Ответить | Цитировать Сообщить модератору
 Re: ORA-27457 В чём ошибся?  [new]
Ura!
Member

Откуда:
Сообщений: 273
Разобрался.
Чтобы никто не наступал на грабли, объясню.
Нужно создавать job c
enabled         => FALSE
Потом делать инициализацию параметров, а потом только делать job активным.
DBMS_SCHEDULER.enable ('XX_TEST');
14 апр 10, 09:35    [8625548]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить