Мы используем хранимую процедуру, предоставленную удаленной системой. В целях тестирования я вызываю эту процедуру с моей машины для разработки. Теперь проблема в том, что если я вызываю процедуру из Toad , все в порядке. Но когда я вызываю его с помощью SQL Developer , возникает ошибка.
Я отладил и отладил и обнаружил следующее: в процедуре дата истечения срока действия генерируется и передается веб-службе (не спрашивайте меня, почему).
Вот строки, ответственные за генерацию даты:
vt_User.EXPDATE := TO_DATE('01.01.2025', 'dd.mm.yyyy');
vs_Value := to_char(vt_User.EXPDATE, 'YYYY-MM-DD"T"HH24:MI:SSTZR');
vs_Value, когда вызывается из Жаба генерируется как:
2025-01-01T00:00:00+02:00
Но если я позвоню из SQL Developer , это будет похоже на
2025-01-01T00:00:00EUROPE/ATHENS
Все, кроме этих строк, абсолютно одинаково. Я испробовал много разных подходов, пытаясь установить NLS_LANG, изменить сеанс и т. Д., Но безрезультатно.
Мне нужно решить эту проблему, потому что то же самое происходит, когда я вызываю процедуру из Java кода, и это главная проблема.
Я подключаюсь к удаленной базе данных, используя TNS для Toad и SQL Developer, тонкий драйвер для кода Java.