Zakładam, że programista SQL tworzy niejawny ALTER SESSION SET time_zone=...
po otwarciu nowego połączenia.
Widzę kilka rozwiązań:
- Zdefiniuj zmienną środowiskową
TZ
na hoście klienta - Utwórz wyzwalacz bazy danych i odpowiednio ustaw strefę czasową
- Zmień strefę czasową bazy danych - działa, chyba że jakikolwiek użytkownik ustawi swoją osobistą strefę czasową
Wyzwalacz bazy danych:
CREATE OR REPLACE TRIGGER LOG_T_LOGON
AFTER LOGON ON DATABASE
DECLARE
BEGIN
IF ora_login_user IS NULL THEN
RETURN;
END IF;
IF ora_login_user IN (...) THEN -- Prevent to be executed for EACH user
execute immediate 'ALTER SESSION SET time_zone = ''America/New_York''';
END IF;
END;
KONIEC;