使用参数创建dbms_scheduler.create_job

我正在尝试使用带参数的dbms_scheduler.create_job创建一个简单的作业。以下是我创建工作的简单过程:

create or replace procedure SCRIPT_DBMS_SCHEDULER
as
   v_text varchar2(255):='Parameter passed from Oracle to Linux';
   l_job_exists number;

Begin
   select count(*) into l_job_exists 
   from user_scheduler_jobs 
   where job_name = 'script_dbms_scheduler_test';

  if l_job_exists = 1 then
    dbms_scheduler.drop_job(job_name => 'script_dbms_scheduler_test');
  end if;

  dbms_output.put_line('I am in Procedure');
  dbms_scheduler.create_job 
  (job_name=>'script_dbms_scheduler_test',
  job_action=>'/data/home/workflow/script_dbms_scheduler.ksh',
  job_type=>'executable',
  number_of_arguments=>1,  
  enabled=>TRUE,
  auto_drop => TRUE,
  comments=> 'Run shell-script script_dbms_scheduler.ksh');
  dbms_scheduler.set_job_argument_value(job_name    =>'script_dbms_scheduler_test', argument_position => 1, argument_value => v_text);
  dbms_scheduler.enable('script_dbms_scheduler_test');
  dbms_output.put_line('I am back in Procedure');

Exception
   when others then
   dbms_output.put_line(sqlcode||sqlerrm);
end;

当参数为0时,它工作正常。但是,当我尝试传递至少1个参数时,出现以下错误:

ORA-27457: argument 1 of job "IITWFU.SCRIPT_DBMS_SCHEDULER_TEST" has no value

不知道我在想什么。任何帮助深表感谢。

谢谢

装甲运兵车

问题是脚本中的这一行:

enabled=>TRUE,

这意味着作业在创建后立即启用。但是,此时您尚未设置参数。因此,错误。

因此,您需要做的就是设置enabled=>FALSE(这实际上是CREATE_JOB()的默认值)。在调用SET_ARGUMENT启用作业之后,您已经可以调用ENABLE()作业,因此您的代码现在应该可以工作了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Creating DBMS_SCHEDULER job for oracle

来自分类Dev

为Oracle创建DBMS_SCHEDULER作业

来自分类Dev

为Oracle创建DBMS_SCHEDULER作业

来自分类Dev

从DBMS_SCHEDULER运行exe

来自分类Dev

oracle dbms_scheduler repeat_interval

来自分类Dev

先端Oracle中的DBMS_SCHEDULER

来自分类Dev

oracle dbms_scheduler repeat_interval

来自分类Dev

用于物化视图的DBMS Job Scheduler

来自分类Dev

如何列出Oracle dbms_scheduler中的作业?

来自分类常见问题

在PL / SQL中的哪里可以找到dbms_scheduler?

来自分类Dev

无法停止/删除DBMS_SCHEDULER中的作业

来自分类Dev

在PL / SQL中的哪里可以找到dbms_scheduler?

来自分类Dev

将脚本转换为dbms_scheduler的PL / SQL过程

来自分类Dev

只有存在DBMS_SCHEDULER.DROP_JOB

来自分类Dev

pl / sql dbms_scheduler挂起,如何进一步调试?

来自分类Dev

我可以从dbms_scheduler作业中以某种方式获得返回值吗?

来自分类Dev

如何安全地安排Oracle dbms_scheduler作业时区和DST

来自分类Dev

SQL 异常 ORA-27478:作业“JOB_MIG_17602”在 DBMS_SCHEDULER.run_job 期间运行

来自分类Dev

使用基于文件夹或Shell脚本输出中存在的文件的参数创建Jenkins Matrix Job

来自分类Dev

在Android API <21中使用Job Scheduler

来自分类Dev

Android Jobscheduler - 如何使用 Job Scheduler 下载大量图像

来自分类Dev

使用REST API获取Jenkins Job的参数?

来自分类Dev

使用object.create制作对象时创建默认参数

来自分类Dev

Oracle Scheduler Job Executor,或者谁是Job Runtime的用户

来自分类Dev

Spark Job创建时间

来自分类Dev

使用Jenkins或Job Scheduler在AWS ECS上自动部署Docker容器

来自分类Dev

Oracle Job Scheduler不会自动删除

来自分类Dev

Job Scheduler未在Android N上运行

来自分类Dev

Oracle Job Scheduler无法正常工作

Related 相关文章

  1. 1

    Creating DBMS_SCHEDULER job for oracle

  2. 2

    为Oracle创建DBMS_SCHEDULER作业

  3. 3

    为Oracle创建DBMS_SCHEDULER作业

  4. 4

    从DBMS_SCHEDULER运行exe

  5. 5

    oracle dbms_scheduler repeat_interval

  6. 6

    先端Oracle中的DBMS_SCHEDULER

  7. 7

    oracle dbms_scheduler repeat_interval

  8. 8

    用于物化视图的DBMS Job Scheduler

  9. 9

    如何列出Oracle dbms_scheduler中的作业?

  10. 10

    在PL / SQL中的哪里可以找到dbms_scheduler?

  11. 11

    无法停止/删除DBMS_SCHEDULER中的作业

  12. 12

    在PL / SQL中的哪里可以找到dbms_scheduler?

  13. 13

    将脚本转换为dbms_scheduler的PL / SQL过程

  14. 14

    只有存在DBMS_SCHEDULER.DROP_JOB

  15. 15

    pl / sql dbms_scheduler挂起,如何进一步调试?

  16. 16

    我可以从dbms_scheduler作业中以某种方式获得返回值吗?

  17. 17

    如何安全地安排Oracle dbms_scheduler作业时区和DST

  18. 18

    SQL 异常 ORA-27478:作业“JOB_MIG_17602”在 DBMS_SCHEDULER.run_job 期间运行

  19. 19

    使用基于文件夹或Shell脚本输出中存在的文件的参数创建Jenkins Matrix Job

  20. 20

    在Android API <21中使用Job Scheduler

  21. 21

    Android Jobscheduler - 如何使用 Job Scheduler 下载大量图像

  22. 22

    使用REST API获取Jenkins Job的参数?

  23. 23

    使用object.create制作对象时创建默认参数

  24. 24

    Oracle Scheduler Job Executor,或者谁是Job Runtime的用户

  25. 25

    Spark Job创建时间

  26. 26

    使用Jenkins或Job Scheduler在AWS ECS上自动部署Docker容器

  27. 27

    Oracle Job Scheduler不会自动删除

  28. 28

    Job Scheduler未在Android N上运行

  29. 29

    Oracle Job Scheduler无法正常工作

热门标签

归档