All streams
Search
Write a publication
Pull to refresh

Comments 3

Пробовали передавать дату как параметр. Проблема возникает с 23:00 до 0:00. Логи с сервера приложения:

[06.04.15 23:56:46:387 MSK] 00000e78 SystemErr     R Caused by: java.lang.RuntimeException: Assertion botch: negative time
[06.04.15 23:56:46:387 MSK] 00000e78 SystemErr     R 	at oracle.jdbc.driver.DateCommonBinder.setOracleHMS(OraclePreparedStatement.java:18740)
[06.04.15 23:56:46:387 MSK] 00000e78 SystemErr     R 	at oracle.jdbc.driver.TimestampBinder.bind(OraclePreparedStatement.java:19245)
[06.04.15 23:56:46:387 MSK] 00000e78 SystemErr     R 	at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:3014)
[06.04.15 23:56:46:387 MSK] 00000e78 SystemErr     R 	at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2247)
[06.04.15 23:56:46:387 MSK] 00000e78 SystemErr     R 	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3444)
[06.04.15 23:56:46:387 MSK] 00000e78 SystemErr     R 	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3530)
[06.04.15 23:56:46:387 MSK] 00000e78 SystemErr     R 	at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)


В такой ситуации стоит сделать следующее:
  1. Проверить, обновлены ли таймзоны у Java
  2. Проверить, обновлены ли таймзоны у Oracle Database

Если у Oracle Database таймзоны не обновлены, а патчить его особо желания нет, то проблема решается принудительным выставлением у Java часового пояса в виде цифр (например GMT+3). В случае с Glassfish это параметр -Duser.timezone=GMT+3.

Вообще такая ситуация происходит в случае, когда Java передает Ораклу свою таймзону в виде Europe/Moscow, и Оракл проверяет её по своим внутренним таймзонам, в связи с чем переменная CURRENT_TIMESTAMP будет не +3 а +4 в случае с Москвой для изменения часовых поясов 2014 года. Вот такая вот тыква с 23.00 до полуночи получается =)
Похоже требуется установить патч на java машину.
Sign up to leave a comment.

Articles