我有一个Ant脚本来执行SQL和PL/SQL程序。蚂蚁EXEC可执行文件来执行PL/SQL程序失败
<exec executable="sqlplus" failonerror="true" >
<arg value="${user}/${password}@${DB}" />
<arg value="@${scriptFilename}" />
</exec>
上面的代码执行SQL脚本和安装包,但不喜欢的程序:
BEGIN
-- drop functions
FOR R IN (
SELECT owner, object_name
FROM all_objects
WHERE owner='FCPOTP'
AND OBJECT_TYPE IN ('FUNCTION'))
LOOP
EXECUTE IMMEDIATE 'drop function '||R.owner||'.'||R.object_name;
END LOOP;
-- drop procedure
FOR R IN (
SELECT owner, object_name
FROM all_objects
WHERE owner='FCPOTP'
AND OBJECT_TYPE IN ('PROCEDURE'))
LOOP
EXECUTE IMMEDIATE 'drop procedure '||R.owner||'.'||R.object_name;
END LOOP;
END;
我如何可以使用相同的exec sqlplus
可执行文件执行的一切吗?
它如何“失败” - 你得到了什么错误?这真的是程序的一部分,还是一个匿名块?以及如果您运行通过SQL \ * Plus手动会发生什么情况? –
@AlexPoole - 我没有收到任何错误。但该块不会执行。它只是说[exec]连接到: [exec] Oracle数据库11g企业版版本11.2.0.4.0 - 64位生产 [exec]使用分区选项 [exec] [exec] 36从Oracle Database 11g Enterprise版本发布11.2.0.4.0 - 64位生产 [执行]与分区选项 [回声] =====结束===== [回声] – useranon
这将是更好的显示问题的输出它可以正确格式化。但我明白了它的要点。 –