Настройка по умолчанию "alter session" для пользователя Oracle
для приложения JDBC мне нужно выпустить несколько команд ALTER SESSION. Я не хочу помещать их в сам код приложения. Есть ли способ указать значения по умолчанию для параметров сеанса для схемы базы данных, используемой приложением (на стороне базы данных) ?
2 ответов
большинство параметров сеанса определяются клиентским приложением. Если вы хотите переопределить параметры клиента, вы можете создать 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;
Я не тестировал это, но не могли бы вы заставить приложение вызывать хранимую процедуру, которая устанавливает переменные сеанса при создании сеанса? Затем при необходимости можно изменить хранимую процедуру на стороне сервера.