powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / перехват вызова процедур
10 сообщений из 10, страница 1 из 1
перехват вызова процедур
    #39981954
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
Коллегию доброго дня!

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

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

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

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

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

Если процедур действительно много, то можно вытаскивать код процедуры из sysprocbody, парсить все что между скобками параметров, составлять динамический INSERT и выполнять его. Больше всего конечно траха с распарсиванием.
...
Рейтинг: 0 / 0
перехват вызова процедур
    #39984011
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аудит, похоже, значения параметров не хранит - только факт вызова процедуры.
...
Рейтинг: 0 / 0
перехват вызова процедур
    #39984496
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал как SPL Debugger работает. Деталей никто не дает, но, похоже, там фишка в использовании DRDA connection.
...
Рейтинг: 0 / 0
перехват вызова процедур
    #39984500
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напоминаю о существовании TRACE ON/TRACE PROCEDURE и SET TRACE TO/SET DEBUG FILE. Может удастся использовать?
...
Рейтинг: 0 / 0
перехват вызова процедур
    #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
перехват вызова процедур
    #39985438
cpr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cpr
Гость
Выбегалло
cpr,

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

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


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

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


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