Я использую сценарий UNIX для запуска SQL-кода, который запускает хранимую процедуру по ссылке в базе данных.Я могу заставить процедуру завершиться успешно, однако ни один из выходных данных СУБД не буферизуется в указанный файл SPOOL.
SQL в UNIX:
set feedback off;
set linesize 500;
set serveroutput on size 1000000;
set serveroutput on format wrapped;
spool $SQLspool;
whenever oserror exit;
whenever sqlerror exit sql.sqlcode;
DECLARE
retcode integer :=0;
BEGIN
owner.procedure@db;
dbms_output.put_line('');
dbms_output.put_line('return code: ' || retcode);
dbms_output.put_line('');
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
/
EXIT;
СОДЕРЖАНИЕ СПУЛЬФИЛЯЦИИ:
return code: 0
Я перечисляю кучу выводов DMBS в хранимой процедуре, но в файл спула ничего не записывается.
Как я могу получить его для вывода в файл спула?
Я пытался иметь переменные IN OUT, но поскольку процедура содержит COMMIT, она выдает ошибки с параметрами, так как она проходит через соединение с БД ...