Просматривать значения переменных из Oracle PL / SQL

Я запускаю блок PL / SQL, который должен вызывать хранимую процедуру, выходные параметры которой должны заполнять переменные в блоке PL / SQL.

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

Я использую Free TOAD, если это помогает.

Спасибо,

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
4 590
4

Ответы 4

dbms_output.put_line(varHere);

это работает для sqlplus, но не с жабой. По крайней мере, для меня это не так.

Jeff 31.10.2008 22:58

Проверьте конфигурацию TOAD - вам нужно включить dbms_output, и вам может потребоваться запустить пакет dbms_output (слишком давно я не работал с oracle ...)

Ken Gentle 31.10.2008 23:11

У вас есть несколько вариантов:

  • Журнал с DBMS_OUTPUT
  • Войдите в файл, используя UTL_FILE
  • Используйте отладчик Oracle DBMS_DEBUG

Я предпочитаю регистрироваться в файле с помощью довольно простого пользовательского пакета регистрации. В моем пользовательском пакете ведения журнала у меня есть настраиваемый флаг для переключения между журналированием файлов и ведением журнала 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, вы можете их предоставить.

Другие вопросы по теме