【问题标题】:How run a stored procedure present in SQL Developer from a Control-M database job with Execution type as embedded query如何从具有执行类型作为嵌入式查询的 Control-M 数据库作业运行 SQL Developer 中存在的存储过程
【发布时间】:2020-07-21 10:30:36
【问题描述】:

我是 Control-M 调度的新手,我手头的场景如下:

SQL DEVELOPER 中有一个存储过程,它在表上创建子分区查询。现在我需要安排一个 Control-M 作业,它将这个存储过程直接运行到 controlM 作业参数中提到的数据库和模式中。我能够设置数据库连接部分,并将执行类型作为嵌入式查询,我编写了 SQL 语句:EXEC ;

Control-M 作业失败,出现 ORA00900:无效 SQL 语句。

注意:该程序没有任何分区。此外,当我在 SQL 开发人员中运行相同的查询时,它会成功运行并给出预期的结果。问题在于从 Control-M 作业执行。

谁能帮忙解决一下。非常感谢!

【问题讨论】:

  • 过程存储在数据库中,而不是存储在 SQL Developer 等桌面工具中。我不知道 Control-M 但我怀疑它提供了exec 命令。如果您有产品的文档,应该很容易确认这一点。等效的 SQL 是 call,或者如果它支持 PL/SQL 匿名块,则为 begin ... end;
  • 什么是control-M?做一个开始 proc(a=>1..);结尾; vs 一个 exec,它是一个 SQLPlus cmd
  • @thatjeffsmith 这是一个作业调度程序。 bmc.com/it-solutions/control-m.html

标签: sql stored-procedures plsql oracle-sqldeveloper control-m


【解决方案1】:

@thatjeffsmith Control-M 是市场领先的作业调度解决方案,它存在于分布式(Unix 和 Windows 以及其他一切)版本和大型机(可以在两者之间跳过)。

Control-M 可以运行脚本或命令。您将无法直接从系统命令提示符运行存储过程,但他们对此有解决方案。 Control-M 有许多在 Control-M 代理下运行的模块(代理本地安装在您要执行的东西的盒子上),这些代理有许多不同的种类;一个管理文件传输,一个运行 SAP 作业、Oracle 应用程序、Hadoop 等等。

您需要的是 Control-M for Databases。在您的 Control-M 代理下安装它(现有客户免费),只需 2 分钟即可添加,它适用于所有主要的数据库供应商。运行后,在 Control-M for Databases 模块上设置连接配置文件(数据库名称、ID、密码、端口号,通常的)。

然后(回到您的 Control-M 系统)创建一个 Control-M for Databases 作业。您可以选择存储过程或使用 Control-M 来存储您的 SQL 或其他任何东西。 Control-M 为您提供变量(包括将输出保存为变量)、重新运行选项、对其他作业的依赖性、通知(例如,用于失败或延迟运行)、工作负载平衡、版本控制、yadda-yadda-yadda ...

【讨论】:

    【解决方案2】:

    我能够在 Control-M 中运行执行类型为存储过程的存储过程。早些时候,由于数据库连接问题,我无法做到这一点,当这个问题解决后,我就可以做到了。

    谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-16
      • 2011-05-07
      • 2011-04-28
      • 2013-12-09
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多