Как сессии получают свой начальный часовой пояс - PullRequest
0 голосов
/ 01 октября 2018

Когда я проверяю часовой пояс сеанса в SQL developer с

select sessiontimezone from dual;

, я получаю 'Europe/Berlin'.Когда я делаю то же самое в SQL * Plus , я получаю '+02:00'.

Это имеет значение при работе с TIMESTAMP WITH LOCAL TIMEZONE, поскольку Германия иногда находится в часовом поясе UTC + 01, а иногда вUTC + 02 из-за перехода на летнее время.(В настоящее время это UTC + 02.)

Как два инструмента получают / устанавливают (?) Свои часовые пояса по умолчанию?

Системная информация:

  • Соединениячерез TNS.
  • SQL Разработчик: 18.1.0.095.1630
  • СУБД Oracle: Oracle Database 11g Enterprise Edition, выпуск 11.2.0.4.0 - 64-разрядная версия
  • Сервер операционной системы:x86_64 / Linux 2.4.xx
  • Клиент операционной системы: Microsoft Windows 10 Professional

1 Ответ

0 голосов
/ 01 октября 2018

Документация содержит только переменную среды ORA_SDTZ.

Однако она берется из следующих настроек:

  • Ключ реестра HKCU\SOFTWARE\ORACLE\KEY_{Oracle Home Name}\ORA_SDTZ
  • Ключ реестра HKLM\SOFTWARE\ORACLE\KEY_{Oracle Home Name}\ORA_SDTZ

    (соответственно HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle Home Name}\ORA_SDTZ)

  • Переменная среды ORA_SDTZ

  • Текущие языковые настройки вашего компьютера (скорее всего).
  • Часовой пояс базы данных, если ничего из вышеперечисленного не найдено (только предположение)

Ваше клиентское приложение может иметь несколько дополнительных источниково часовом поясе сеанса см. Как изменить часовой пояс Oracle SQL Developer / Oracle Data Modeler, например: .

Переменная среды должна иметь наивысший приоритет.

...