【问题标题】:How to call oracle dbms_scheduler.run_job from java?如何从 java 调用 oracle dbms_scheduler.run_job?
【发布时间】:2016-05-27 21:59:41
【问题描述】:

我在我的 oracle 数据库中有一份工作,出于某种原因,我需要在我的 java 应用程序中调用它。
谁有办法告诉我怎么做?
我已经尝试过:
执行 DBMS_SCHEDULER.RUN_JOB('My_job_name')
DBMS_SCHEDULER.RUN_JOB('My_job_name')
{DBMS_SCHEDULER.RUN_JOB('My_job_name')}
{执行 DBMS_SCHEDULER.RUN_JOB('My_job_name')}
通过 CallableStatement 但它们都不起作用。
任何帮助将不胜感激

【问题讨论】:

  • 您在尝试这些时收到了哪些错误消息?您是否尝试过 Toad 或 SQL*Plus 中的命令以确保数据库端的语法和权限正确?

标签: java oracle jobs dbms-scheduler


【解决方案1】:

只需将调度程序调用包装在 BEGIN-END 块中即可:

CallableStatement callStmt = conn.prepareCall(
  "BEGIN DBMS_SCHEDULER.RUN_JOB(job_name => 'My_job_name'); END;");
callStmt.executeUpdate();

【讨论】:

    【解决方案2】:

    您有运行它的权限吗? 如果是的话,我猜这个工作必须被禁用 运行以下程序以启用它:

    exec DBMS_SCHEDULER.ENABLE (My_job_name);
    

    告诉我你得到了什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-09
      • 2014-02-06
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多