SQL. Отладка хранимых процедур и выявление причин ошибок

Используйте хранимую процедуру exec print (str) для вывода интересующих переменных - она пишет в таблицу as_trace с кодом print. В кабинете администратора можно посмотреть последние результаты вывода этой процедуры.

Вы можете запускать процедуру прямо из окна редактирования SQL. 

Заполняете параметры (можно просто скопировать их из процедуры) в формате "@name=value,"

Для сложных типов формат такой: @[parameterName]___[SQLType]=[key]||[value]___[key]||[value]  

  • где SQLType - это CRUDFilterParameter, DictionaryParameter, ExtendedDictionaryParameter. 
  • Разделители это тройное подчеркивание (между названием параметра и типом). 
  • параметры сложного типа разделяются также тройным подчеркиваем(___) и внутри 2 вертикальные линии (||).

Примечание: 

При тестовом вызове происходит Rollback транзакции. Т.е. все изменения в базе будут отменены, но при этом вы получите все данные, которые выдает процедура. 

Как получить значения параметров, которые передаются в хранимые процедуры? 

Для этого указываем в URL параметр debug=[имя хранимки].

В итоге значения параметров попадут в trace print таблицу (выводится название и все параметры со значениями). 

Пример адреса: https://falcon.web-automation.ru/pages?debug=crud_pages_getitems

Примечание: данный режим работает, если только значения ядре переданы через DynamicParameters (в большинстве случаев он используется). 

Также используйте SQL Profiler Express для просмотра какие параметры передаются в хранимые процедуры. Для этого необходимо дать права пользователю на трассировку (выполнить на сервере):

use master
GRANT ALTER TRACE TO falcon2;

Чтобы отменить право трассировки - используйте на сервере:

use master
Revoke ALTER TRACE TO fxproject2;

Более подробная документация по SQL Profiler Express - https://drive.google.com/file/d/0B8N7eBTTS7MbYmplT1NZbGk0T0U/view?usp=sharing

Если возникает ошибка или неясно почему некорректно отрабатывает запрос, смотрите запрос в SQL Profiler Express, копируете в SQL Management Studio (прямо с теми же параметрами) и проводите отладку чистого вызова в SQL Management Studio.

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Бесплатное обучение разработке на Falcon Space

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space.
Примечание

Google поиск по нашей документации