如何从unix.ctl文件执行Oralce过程
是否有任何方法可以从unix.ctl文件执行oracle过程 我试图从.sh文件调用该过程,结果成功如何从unix.ctl文件执行Oralce过程,unix,oracle-sqldeveloper,Unix,Oracle Sqldeveloper,是否有任何方法可以从unix.ctl文件执行oracle过程 我试图从.sh文件调用该过程,结果成功 但是我需要从.ctl文件调用该过程。您不能通过SQL*Loader执行过程,不可以。您可以对单个字段值进行转换,但这不是您需要的 最简单的解决方案可能是使用一个shell脚本,该脚本调用SQL*Loader,然后调用SQL*Plus来执行该过程。作为一个非常粗略的轮廓: #/bin/bash sqlldr username/password control=/path/test\u loadin
但是我需要从.ctl文件调用该过程。您不能通过SQL*Loader执行过程,不可以。您可以对单个字段值进行转换,但这不是您需要的 最简单的解决方案可能是使用一个shell脚本,该脚本调用SQL*Loader,然后调用SQL*Plus来执行该过程。作为一个非常粗略的轮廓:
#/bin/bash
sqlldr username/password control=/path/test\u loading.ctl
sqlplus用户名/密码
因此,基本上,您已经在使用脚本来调用您的过程,但是添加了对SQL*Loader的调用
这使您的控制文件与您的“类似功能”相匹配,并且它周围只有一个shell脚本包装器。您是说来自SQL*Loader吗?你到底想实现什么?我在oracle中有一个存储过程,我想使用.ctl文件从unix执行该过程。我们是否可以在unix中编写.ctl文件来调用该存储过程。你说的.ctl文件是什么意思?如果您不是在谈论SQL*加载程序控制文件,您是什么意思?什么将执行或使用您的文件?与此相关吗?SQL*Loader将CSV数据加载到一个表中,所以我不清楚如何使用拆分字符串的过程。但你自己对这个问题的回答似乎做了一些完全不同的事情。退一步,编辑问题,解释你实际上在做什么——包括你试图加载的数据,并举例说明;你把它放在什么表格结构中;然后-如果相关的话-你的程序如何适应。谢谢你,亚历克斯,但这不是要求。我希望用另一种方式解决这个问题。非常感谢您的回复。