Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从unix.ctl文件执行Oralce过程_Unix_Oracle Sqldeveloper - Fatal编程技术网

如何从unix.ctl文件执行Oralce过程

如何从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

是否有任何方法可以从unix.ctl文件执行oracle过程

我试图从.sh文件调用该过程,结果成功


但是我需要从.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数据加载到一个表中,所以我不清楚如何使用拆分字符串的过程。但你自己对这个问题的回答似乎做了一些完全不同的事情。退一步,编辑问题,解释你实际上在做什么——包括你试图加载的数据,并举例说明;你把它放在什么表格结构中;然后-如果相关的话-你的程序如何适应。谢谢你,亚历克斯,但这不是要求。我希望用另一种方式解决这个问题。非常感谢您的回复。