ORA-01882: часовой пояс не найден - PullRequest
83 голосов
/ 06 февраля 2012

Я обращаюсь к базе данных Oracle из Java-приложения. Когда я запускаю свое приложение, я получаю следующую ошибку:

java.sql.SQLException: ORA-00604: ошибка произошла на рекурсивном уровне SQL 1 ORA-01882: часовой пояс не найден

Ответы [ 18 ]

2 голосов
/ 01 ноября 2017

Я столкнулся с этой проблемой с Tomcat. Установка следующего в $CATALINA_BASE/bin/setenv.sh решает проблему:

JAVA_OPTS=-Doracle.jdbc.timezoneAsRegion=false

Я уверен, что использование одного из предложенных параметров Java из других ответов будет работать точно так же.

1 голос
/ 13 мая 2018

У меня тоже такая же проблема возникла.

Окружающая среда:

Linux, проект hibernate, драйвер ojdbc6 при выполнении запросов к базе данных oracle 11g.

Разрешение

Параметр TZ не был установлен на машине linux, что в основном говорит оракулу о часовом поясе. Итак, после добавления экспортной статистики «export TZ = UTC» во время запуска приложения моя проблема решена.

UTC -> Изменить в соответствии с вашим часовым поясом.

1 голос
/ 04 июня 2014

У меня тоже была такая же проблема, когда я пытался создать соединение в JDeveloper. Наш сервер расположен в другом часовом поясе, поэтому он выдает следующие ошибки:

ORA-00604: error occurred at recursive SQL level 1 

ORA-01882: timezone region not found

Я сослался на многие форумы, которые просили включить часовой пояс в Параметры Java (Запуск / Отладка / Профиль) свойств проекта и Свойства проекта по умолчанию, как -Duser.timezone="+02:00" bНо это не сработало для меня. В итоге у меня сработало следующее решение.

Добавьте следующую строку в файл конфигурации JDeveloper ( jdev.conf ).

AddVMOption -Duser.timezone=UTC+02:00

Файл находится в "<корневой каталог установки Oracle> \ Middleware \ jdeveloper \ jdev \ bin \ jdev.conf".

1 голос
/ 02 июня 2016

В моем случае я мог заставить запрос работать, изменив «TZR» на «TZD» ..

String query = "select * from table1 to_timestamp_tz(origintime,'dd-mm-yyyy hh24:mi:ss TZD') between ?  and ?";
1 голос
/ 24 апреля 2015

Мне удалось решить ту же проблему, установив часовой пояс в моей системе Linux (Centos6.5).

Репост от

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

  1. установить часовой пояс в /etc/sysconfig/clock например. установить ZONE = "America / Los_Angeles"

  2. sudo ln -sf / usr / share / zoneinfo / Америка / Феникс / etc / localtime

Чтобы выяснить значение часового пояса, попробуйте

ls /usr/share/zoneinfo

и найдите файл, который представляет ваш часовой пояс.

После настройки перезагрузите компьютер и попробуйте снова.

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

У меня была такая же проблема при попытке установить соединение на OBIEE с Oracle db. Я изменил свой часовой пояс Windows с (GMT + 01: 00) Западной Центральной Африки на (GMT + 01: 00) Брюссель, Копенгаген, Мадрид, Париж. Затем я перезагрузил компьютер, и он работал нормально. Похоже, что Oracle не смог распознать часовой пояс западно-центральной Африки.

0 голосов
/ 08 ноября 2017

java.sql.SQLException: ORA-00604: ошибка произошла на рекурсивном уровне SQL 1 ORA-01882: область часового пояса не найдена

Для этого типа ошибки просто измените вашу системувремя в стандартном формате GMT ​​вашей страны

например, индийский часовой пояс Ченнаи, Калькутта.

0 голосов
/ 28 июля 2016

Столкнувшись с той же проблемой с использованием Eclipse и удаленной базы данных Oracle, изменение системного часового пояса для соответствия часовому поясу сервера базы данных устранило проблему. Перезапустите машину после смены часового пояса системы.

Надеюсь, это кому-нибудь поможет

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