【发布时间】:2015-01-10 20:39:05
【问题描述】:
当我尝试向 db "INSERT INTOowned_users VALUES('id', user_name')" 添加新行时
我收到此错误:
General error: "java.lang.IllegalStateException: Chunk 2089 no longer exists [1.4.181/9]"
这可能是 db 的一些问题,因为当我尝试将同一行添加到新的 db 时 - 错误消失了。
2014 年 11 月 20 日更新
好消息!我联系了 H2 db 的开发人员,发现他们将在下一个版本中修复该错误。 https://groups.google.com/forum/#!topic/h2-database/i_GHXExjotc
2014 年 12 月 6 日更新
一个简单的解决方法是通过将“;mv_store=false”附加到数据库 URL 来禁用 MVStore。
但是,如果你需要旧的数据库,这个技巧将不起作用。它创建新数据库,扩展名为 .h2.db 而不是 .mv.db
要克服这个问题,您需要创建旧数据库“.mv.db”的 SQL 脚本(使用恢复工具),然后使用“runscript ...”运行此脚本。
【问题讨论】:
-
@JimGarrison 是的,谢谢。我已经读过了
-
@philipxy 就是这样。这是一个完整的例子,我只是想向 H2 db “INSERT INTOmitted_users VALUES('id', 'user_name')”添加行。我是通过网络界面127.0.1.1:8082
-
听起来像是数据库问题,而不是应用程序问题。您使用的是哪个版本的 h2db?