【发布时间】: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