Я запускаю блок PL / SQL, который должен вызывать хранимую процедуру, выходные параметры которой должны заполнять переменные в блоке PL / SQL.
Процедура компилируется, и блок PL / SQL успешно выполняется. Но я бы хотел проверить значения переменных, заполняемых процедурой. Есть ли способ вывести эти значения?
Я использую Free TOAD, если это помогает.
Спасибо,





dbms_output.put_line(varHere);
Проверьте конфигурацию TOAD - вам нужно включить dbms_output, и вам может потребоваться запустить пакет dbms_output (слишком давно я не работал с oracle ...)
У вас есть несколько вариантов:
Я предпочитаю регистрироваться в файле с помощью довольно простого пользовательского пакета регистрации. В моем пользовательском пакете ведения журнала у меня есть настраиваемый флаг для переключения между журналированием файлов и ведением журнала DBMS_OUTPUT.
API отладки Oracle неплохие, но вам определенно нужен хороший клиент отладки. Oracle SQL Developer имеет для этого неплохую поддержку.
Также есть логгер log4plsql, но я им не пользовался.
Четвертый вариант (тот, который я обычно использую по умолчанию) также существует ... запись отладочных сообщений в таблицу базы данных. Это дает вам возможность сортировать, запрашивать и фильтровать ваши отладочные сообщения по мере необходимости.
Как упоминалось выше darreljnz, log4plsql также, вероятно, поддерживает ведение журнала в базе данных. Я нахожу это 1) dbms_output имеет слишком много ограничений 2) запись в файл требует слишком большой настройки и перезапуска базы данных, если параметр utl_file_dir еще не установлен 3) использование dbms_debug без помощи графического интерфейса очень громоздко (но я это сделал)
Если вы можете загрузить копию Oracle jDeveloper Домашняя страница jDeveloper или Oracle Visual Studio, добавьте в Плагин VS. Оба бесплатны и позволяют отлаживать (устанавливать точку останова, проверять переменные, ...) в PL / SQL на базе данных. Для этого вам также потребуется право «отладки» в БД. Но если у вас есть права на dba, вы можете их предоставить.
это работает для sqlplus, но не с жабой. По крайней мере, для меня это не так.