У меня есть сценарий Ant для выполнения процедур SQL и PL/SQL.Ошибка выполнения исполняемого файла Ant 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 Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production [exec] С опцией Разметка [exec] [exec] 36 Отключен от Oracle Database 11g Enterprise Издание 11.2.0.4.0 - 64bit Production [exec] С опцией Разметка [echo] ===== End ===== [echo] – useranon
Было бы лучше показать этот вывод в вопросе так он может быть отформатирован правильно. Но я понимаю суть этого. –