powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Audit через триггер и переменные APEX - незадача
5 сообщений из 5, страница 1 из 1
Audit через триггер и переменные APEX - незадача
    #38712527
Kino36
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, столкнулся с такой проблемой: прикрутил аудит на изменения данных таблички, которая модифицируется из процессов в APEX. Стандартный механизм через триггер, помимо стандартных фишек, старое/новое значение, решил еще прикрутить название процесса, из которого с таблицей что-то сделали. Для этого завел application_item, и в процессе перед выполнением кода присваиваю ему значение (имя процесса). Затем в триггере через v('название_итема') достаю это значение.

Вроде на первый взгляд работало нормально, но когда пригляделся к результатам, увидел, что название процесса, которое в аудит записалось, совсем не соответствует реально тому процессу, откуда модификация прошла :(
что делать, пока не знаю, подобная проблема почему-то не гуглится (
Мне почему-то казалось что процессы выполняются строго последовательно, и пока один не завершился - другой не начинается.
...
Рейтинг: 0 / 0
Audit через триггер и переменные APEX - незадача
    #38712664
ыскшз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не может быть. PL/SQL вообще-то однопоточный.
Скорее всего какая-то магия с application_item.
Попробуйте передать имя через свою переменную пакета или контекст.

В триггере можно получить имя process point из CLIENT_INFO. Но это не имя конкретного процесса, и вдобавок оно обрезано.

В APEX 4.1 и 4.2 есть функция APEX_APPLICATION.GET_COMPONENT(), она даст имя выполняемого процесса. Но эта
функция не документирована.
...
Рейтинг: 0 / 0
Audit через триггер и переменные APEX - незадача
    #38712666
ыскшз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поправка: process point виден в поле ACTION сессии, а не в CLIENT_INFO.
в CLIENT_INFO апексный логин+id
...
Рейтинг: 0 / 0
Audit через триггер и переменные APEX - незадача
    #38712703
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kino36,

Я бы предложил, не гадать, а посмотреть, что в какой момент происходит, воспользоваться средствами apex debug.
Процессы выполняются строго последовательно в порядке их приоритета (sequence).

Могут быть нюансы, вроде работы в нескольких вкладках одновременно (проверяется через apex debug),
тогда стоит поискать бесконтрольный вызовов коммитов.

например, неявные коммиты могут быть при вызове apex_util.set_session_state и т.д.

В прочем, чаще ошибки в таких случаях более банальны - отлаживайте
...
Рейтинг: 0 / 0
Audit через триггер и переменные APEX - незадача
    #38712747
Kino36
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ыскшз, спасибо, APEX_APPLICATION.GET_COMPONENT - это именно то что нужно. Я нечто подобное искал, но не нашел (
перенастроил аудит, теперь все показывает как надо.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Audit через триггер и переменные APEX - незадача
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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