powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Дебаг процедуры на фб3 не работает
8 сообщений из 8, страница 1 из 1
Дебаг процедуры на фб3 не работает
    #39475442
streletsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добрый день!

Пробовал с самой последней версией ibexpert пройти под отладкой процедуру, но на первом "for select" появляется ошибка

Error Message:
----------------------------------------
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
Cursor is not open.


[00541273] FIB.IBError (Line 555, "FIB.pas" + 55) + $2
[005379AE] FIBQuery.TFIBQuery.Next (Line 3200, "FIBQuery.pas" + 23) + $C
[00D4D4A3] DebugSP_New.TfrmDebugSP_new.ExecuteStatement (Line 1535, "DebugSP_New.pas" + 20) + $7


проблема наблюдается только на фарбёрде 3, на 2.5. все работает хорошо
если надо базу или тест процедуры могу скинуть

спасибо !
...
Рейтинг: 0 / 0
Дебаг процедуры на фб3 не работает
    #39475512
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст тестовой процедуры в студию. Желательно без лишнего, на системных таблицах.
...
Рейтинг: 0 / 0
Дебаг процедуры на фб3 не работает
    #39475935
streletsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
база на sqldialect 1

похоже всё зависит от имени входящего параметра процедуры :)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create or alter procedure test_proc (
    tp_in_out varchar(10)
    )
returns (
    p_name varchar(255)
    )
as

begin

   for select a.mon$remote_address from mon$attachments a where
    ((a.mon$attachment_name =:tp_in_out) or (:tp_in_out="0"))
    into :p_name
    do suspend;

end
...
Рейтинг: 0 / 0
Дебаг процедуры на фб3 не работает
    #39476157
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
streletsky
похоже всё зависит от имени входящего параметра процедуры :)


Не от имени, а от конструкции выражения во WHERE.
Вот так будет работать:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create or alter procedure test_proc (
    tp_in_out varchar(10)
    )
returns (
    p_name varchar(255)
    )
as

begin

   for select a.mon$remote_address from mon$attachments a where
    ((a.mon$attachment_name =:tp_in_out) or (cast(:tp_in_out as varchar(10))="0"))
    into :p_name
    do suspend;

end
...
Рейтинг: 0 / 0
Дебаг процедуры на фб3 не работает
    #39476203
streletsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,
выходит, если не указать что параметр в where имеет размер varchar(10), дебагер считает его varchar(1), по длине значения.
а нельзя ли определять размер по размеру входящих параметров?
...
Рейтинг: 0 / 0
Дебаг процедуры на фб3 не работает
    #39476368
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
streletskyвыходит, если не указать что параметр в where имеет размер varchar(10), дебагер считает его varchar(1), по длине значения.


Дебаггер препарирует запрос
Код: sql
1.
2.
select a.mon$remote_address from mon$attachments a where
    ((a.mon$attachment_name = ?) or (? ="0"))


и смотрит, что вернул сервер. Сервер в данном случае возвращает VARCHAR(1) для второго параметра.

streletskyа нельзя ли определять размер по размеру входящих параметров?

Теоретически можно, практически там наверняка куча других нюансов нарисуется.
...
Рейтинг: 0 / 0
Дебаг процедуры на фб3 не работает
    #39476395
streletsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpertи смотрит, что вернул сервер. Сервер в данном случае возвращает VARCHAR(1) для второго параметра.

спасибо за разъяснения, буду кастить.
...
Рейтинг: 0 / 0
Дебаг процедуры на фб3 не работает
    #39476428
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
streletskyспасибо за разъяснения, буду кастить.

зачем? Это лишние действие внутри процедуры, если только на время отладки, а потом не забыть удалить.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Дебаг процедуры на фб3 не работает
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]