如何从unix .ctl文件中执行Oralce Procedure

时间:2016-06-03 15:26:30

标签: unix oracle-sqldeveloper

有没有办法从unix .ctl文件执行oracle过程。

我尝试从.sh文件中调用该过程并成功。

但我需要从.ctl文件中调用该过程。

1 个答案:

答案 0 :(得分:0)

您无法通过SQL * Loader执行过程,没有。您可以对单个字段值进行转换,但这不是您需要的。

最简单的解决方案可能是有一个调用SQL * Loader的shell脚本,然后调用SQL * Plus来执行该过程。作为一个非常粗略的大纲:

#!/bin/bash
sqlldr username/password control=/path/test_loading.ctl
sqlplus username/password <<!EOF
begin
  your_procedure(...);
end;
/
!EOF

所以基本上你已经尝试调用你的程序的脚本,但是你添加了对SQL * Loader的调用。

这使您的控制文件与您的“类似功能”相匹配,并且它周围只有一个shell脚本包装。