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

问题描述 投票:0回答:2

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

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

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

unix oracle-sqldeveloper
2个回答
0
投票

您不能通过 SQL*Loader 执行过程,不。您可以对各个字段值进行转换,但这不是您在这里需要的。

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

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

因此,本质上您已经可以使用脚本来调用过程,但添加了对 SQL*Loader 的调用。

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


0
投票

在命令行执行此操作 sqlldr userid=someuser@somepassword control=some_loader_script.ctl

© www.soinside.com 2019 - 2024. All rights reserved.