Możesz również spróbować sprawdzić wersję sterownika Oracle jdbc i bazy danych Oracle. Właśnie dzisiaj miałem ten problem podczas używania ojdbc6.jar (wersja 11.2.0.3.0) do łączenia się z serwerem Oracle 9.2.0.4.0. Zastąpienie go plikiem ojdbc6.jar w wersji 11.1.0.7.0 rozwiązało problem.
Udało mi się też bezbłędnie połączyć ojdbc6.jar w wersji 11.2.0.3.0, dodając oracle.jdbc.timezoneAsRegion=false
w pliku oracle/jdbc/defaultConnectionProperties.properties (wewnątrz słoika). Znalazłem to rozwiązanie tutaj (uszkodzony link)
Następnie można dodać -Doracle.jdbc.timezoneAsRegion=false
do wiersza poleceń lub AddVMOption -Doracle.jdbc.timezoneAsRegion=false
w plikach konfiguracyjnych, które używają tej notacji.
Możesz to również zrobić programowo, np. z System.setProperty
.
W niektórych przypadkach możesz dodać zmienną środowiskową dla każdego połączenia, jeśli jest to dozwolone (program SQL Developer zezwala na to we właściwościach połączenia „Zaawansowane”; sprawdziłem, czy działa podczas łączenia się z bazą danych, która nie ma problemu i używając link do bazy danych, która ma).