VPD и контекст с приложением Express - PullRequest
3 голосов
/ 18 июля 2010

Я собираюсь создать приложение, используя Application Express и Oracle Database Enterprise, VPD Реализовано по схеме с использованием Context, для проблемы разработчика я установил в триггер входа в систему, чтобы установить пользователя;

но я не могу просмотреть данные внутри приложения, но могу просмотреть их с помощью оператора SQL

Так возникает ли проблема в Apex при использовании триггера VPD, Context или On Log on?

Ответы [ 2 ]

2 голосов
/ 07 декабря 2010

Правильный способ сделать это в Apex - использовать атрибут VPD настроек безопасности приложения:

Shared Components > Edit Security Attributes > Security

В разделе «Вызов виртуальной частной базы данных PL / SQL для установки контекста безопасности» (или что-то в этом роде) есть раздел, в котором ваш код устанавливается для контекста VPD. Он выполняется механизмом Apex для каждого просмотра страницы.

1 голос
/ 23 июля 2010

Вероятно, это связано с , когда запускается триггер входа в систему.

Обычно веб-приложение (включая Apex) не имеет сеанса базы данных для каждого пользователя, подключенного к приложению.Скорее, он будет иметь пул сеансов базы данных (возможно, 10) и будет использовать любой из них, когда конечный пользователь выполнит запрос базы данных.

Какой пользователь базы данных используется для входа в систему и сколько сеансов может использоваться, все должны настраиваться в зависимости от того, как вы реализуете Apex (встроенный шлюз PL / SQL, слушатель Apex или сервер Oracle HTTP)

Короче говоря, триггер входа в систему, вероятно, является неподходящим местом для установки переменной CONTEXT.

...