Ошибка соединения с СУБД Oracle

При настройке соединения с СУБД Oracle проверка подключения завершается ошибкой:

ORA-00604: error occurred at recursive SQL level 1
ORA-01882: timezone region not found

Ошибка ORA-01882: timezone region not found может возникать в результате несогласованности имен временных зон на сервере приложения, отправляющем запросы в БД, и имен, известных серверу БД Oracle.
Один из вариантов решения - определить на сервере приложения переменную окружения TZ со значением, известным серверу БД Oracle. Для этого можно в скрипт запуска AlphaBI добавить переменную TZ с указанием в ней временной зоны. Обычно скрипт находится по пути /etc/systemd/system/alphabi.service

Необходимо добавить строчку:

Environment=TZ=Europe/Moscow

Пример всего содержимого скрипта:

[Unit]
Description=AlphaBI: Web application
After=syslog.target network.target
[Service]
User=alphabi
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=ASPNETCORE_URLS=http://*:5000/
Environment=ASPNETCORE_URL_BASE=
Environment=ASPNETCORE_USE_XFORWARDEDFOR=true
Environment=TZ=Europe/Moscow
WorkingDirectory=/opt/alphabi
ExecStart=/opt/alphabi/bin/Bars.Alpha.Web
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

После этого следует перечитать скрипт запуска и перезапустить AlphaBI:

systemctl daemon-reload
systemctl restart alphabi

1 Like