Настройка по умолчанию «изменить сеанс» для пользователя Oracle - PullRequest
8 голосов
/ 14 сентября 2009

Для приложения JDBC мне нужно выполнить несколько команд ALTER SESSION. Я не хочу помещать их в сам код приложения. Есть ли способ указать значения по умолчанию для параметров сеанса для схемы базы данных, которую использует приложение (на стороне базы данных)?

Ответы [ 2 ]

13 голосов
/ 14 сентября 2009

большинство параметров сеанса определяются клиентским приложением. Если вы хотите переопределить настройки клиента, вы можете создать DATABASE TRIGGER. Например, это создаст триггер LOGON в схеме BAR:

CREATE OR REPLACE TRIGGER bar.foo
   AFTER LOGON ON DATABASE WHEN (USER = 'BAR')
BEGIN
   dbms_session.set_nls('NLS_NUMERIC_CHARACTERS', '''.,''');
   EXECUTE IMMEDIATE 'ALTER SESSION SET CURRENT_SCHEMA=hr';
END foo;
0 голосов
/ 14 сентября 2009

Я не проверял это, но не могли бы вы заставить приложение вызывать хранимую процедуру, которая устанавливает переменные сеанса при каждом создании сеанса? Затем вы можете при необходимости изменить хранимую процедуру на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...