Гость
Форумы / Informix [игнор отключен] [закрыт для гостей] / перехват вызова процедур / 10 сообщений из 10, страница 1 из 1
20.07.2020, 18:16
    #39981954
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
Коллегию доброго дня!

Существует ли легитимный способ перехвата вызова хранимых процедур по соответствию имени определенной маске ?
...
Рейтинг: 0 / 0
20.07.2020, 18:17
    #39981955
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
Informix 12.10
...
Рейтинг: 0 / 0
21.07.2020, 06:26
    #39982094
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
cpr,

сильно сомневаюсь что SP вызов вообще может быть перехвачен.
...
Рейтинг: 0 / 0
21.07.2020, 12:14
    #39982178
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
Выбегалло,

А есть ли возможность внутри хранимой процедуры получить доступ к входным параметрам процедуры не по именам как положено, а например по номеру ?

Тут задача возникла залогировать вызов кучи процедур с входными параметрами и не хочется писать специфичный для каждой процедуры код.
...
Рейтинг: 0 / 0
26.07.2020, 01:44
    #39984010
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
cpr,

простого решения я не вижу.
Нет, по номеру параметр использовать нельзя, только по имени.

Если процедур действительно много, то можно вытаскивать код процедуры из sysprocbody, парсить все что между скобками параметров, составлять динамический INSERT и выполнять его. Больше всего конечно траха с распарсиванием.
...
Рейтинг: 0 / 0
26.07.2020, 01:45
    #39984011
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
аудит, похоже, значения параметров не хранит - только факт вызова процедуры.
...
Рейтинг: 0 / 0
27.07.2020, 21:50
    #39984496
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
Почитал как SPL Debugger работает. Деталей никто не дает, но, похоже, там фишка в использовании DRDA connection.
...
Рейтинг: 0 / 0
27.07.2020, 21:57
    #39984500
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
Напоминаю о существовании TRACE ON/TRACE PROCEDURE и SET TRACE TO/SET DEBUG FILE. Может удастся использовать?
...
Рейтинг: 0 / 0
29.07.2020, 00:25
    #39984790
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
bk0010
Напоминаю о существовании TRACE ON/TRACE PROCEDURE и SET TRACE TO/SET DEBUG FILE. Может удастся использовать?


Врядли. TRACE ON ставится после DEFINE секции и не пишет параметры процедуры в которой указан - только параметры процедур, из нее вызываемых.

Все равно в каждой процедуре придется писать

SET DEBUG FILE TO 'pathname';

TRACE "Parameters: param1 =" || param1 || ", param2=" || param2 ...;
...
Рейтинг: 0 / 0
30.07.2020, 21:08
    #39985438
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перехват вызова процедур
Выбегалло
cpr,

простого решения я не вижу.
Нет, по номеру параметр использовать нельзя, только по имени.

Если процедур действительно много, то можно вытаскивать код процедуры из sysprocbody, парсить все что между скобками параметров, составлять динамический INSERT и выполнять его. Больше всего конечно траха с распарсиванием.


По этому пути и пошел. Написал утилиту, которая получает имя процедуры и генерирует код для вставки в процедуру.
Код сворачивает входные параметры и глобальные процедуры с их значениями в JSON и пишет в таблицу.
Входные параметры парсить не нужно т.к. они есть в системной таблице sysproccolumns.

Кстати, как оказалось, в Оракле , несмотря на наличие представлений, описывающих binding , изнутри параметры процедуры тоже недоступны.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / перехват вызова процедур / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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