Tôi giả sử Nhà phát triển SQL tạo một ALTER SESSION SET time_zone=...
khi bạn mở một kết nối mới.
Tôi thấy một số giải pháp:
- Xác định biến môi trường
TZ
trên máy chủ khách hàng - Tạo trình kích hoạt cơ sở dữ liệu và đặt múi giờ cho phù hợp
- Thay đổi múi giờ của cơ sở dữ liệu - hoạt động trừ khi bất kỳ người dùng nào đặt múi giờ cá nhân của mình
Kích hoạt cơ sở dữ liệu:
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;
HẾT;