使用h2版本h2-1.3.176(在内存中使用db,也可以使用本地存储,也可以使用tcp / ip) 我有奇怪的锁,见下文。
连接示例:jdbc:h2:mem:test1; MVCC = TRUE; LOCK_TIMEOUT = 30000 这不是一个超时问题,因为该程序被无限期锁定。
我注意到在创建临时表后错误开始了:create temporary table就好了,但是在一些ddl查询之后,出现了错误。 如果我不创建任何临时表,那就没有错误。
PS:我不能使用H2 1.4,因为它不稳定:在那个版本中我有错误“java.lang.IllegalStateException:Chunk XYZ not found”
Timeout trying to lock table "SYS"; SQL statement:
CREATE TABLE TestCalcField1(
a VARCHAR(255),
b VARCHAR(255),
i INTEGER ,
j INTEGER ) [50200-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
at org.h2.message.DbException.get(DbException.java:178)
at org.h2.message.DbException.get(DbException.java:154)
at org.h2.table.RegularTable.doLock(RegularTable.java:530)
at org.h2.table.RegularTable.lock(RegularTable.java:464)
at org.h2.engine.Database.lockMeta(Database.java:869)
at org.h2.command.ddl.CreateTable.update(CreateTable.java:134)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:254)
at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:132)
at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:117)
at it.novabyte.ntools.database.NQuery.executeUpdateSQL(NQuery.java:640)
... 21 more