#java #jdbc #h2
#java #jdbc #h2
Вопрос:
При использовании h2 в java (вызывающая getBytes
функция) Я получаю следующую ошибку. Google меня никуда не привел. Интересно, есть ли у кого-нибудь подсказки, что происходит.
Caused by: org.h2.jdbc.JdbcSQLException: This CLOB or BLOB reference timed out: "533668/-3" [90039-190]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.store.LobStorageMap.getInputStream(LobStorageMap.java:287)
at org.h2.value.ValueLobDb.getInputStream(ValueLobDb.java:384)
at org.h2.value.ValueLobDb.getBytesNoCopy(ValueLobDb.java:318)
at org.h2.value.ValueLobDb.getBytes(ValueLobDb.java:304)
at org.h2.jdbc.JdbcResultSet.getBytes(JdbcResultSet.java:1059)
at edu.illinois.cs.cogcomp.srl.caches.SentenceDBHandler$1.next(SentenceDBHandler.java:214)
Комментарии:
1. Не могли бы вы добавить пример кода?
Ответ №1:
Это сообщение об ошибке может появиться, например, при длительной выполняемой транзакции. Вы можете увеличить время ожидания, установив свойство LOB_TIMEOUT для подключения к базе данных.
Настройка базы данных LOB_TIMEOUT (по умолчанию: 300000, что означает 5 минут). Количество миллисекунд, в течение которых временная ссылка на большой объект сохраняется до истечения времени ожидания. По истечении времени ожидания объект LOB больше не доступен с помощью этой ссылки.
https://www.h2database.com/javadoc/org/h2/engine/DbSettings.html#LOB_TIMEOUT