在java中使用h2(调用getBytes
函数)我收到以下错误。谷歌没有让我到任何地方。我想知道是否有人有线索发生了什么。
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)
答案 0 :(得分:0)
例如,如果您有一个长时间运行的事务,则可能会出现此错误消息。您可以通过在数据库连接上设置LOB_TIMEOUT属性来增加超时。
数据库设置LOB_TIMEOUT(默认值:300000,表示5分钟)。 临时LOB引用保留的毫秒数,直到超时为止。超时后,将无法使用此引用来访问LOB。
https://www.h2database.com/javadoc/org/h2/engine/DbSettings.html#LOB_TIMEOUT