0

我有一个 30 MB 的小 h2 数据库文件。驱动程序版本为 1.4.178。一切正常,但最近数据库停止工作,但出现异常:

org.h2.jdbc.JdbcSQLException: General error: "java.lang.NullPointerException" [50000-178] 
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:344) 
    at org.h2.message.DbException.get(DbException.java:167) 
    at org.h2.message.DbException.convert(DbException.java:294) 
    at org.h2.engine.Database.openDatabase(Database.java:293) 
    at org.h2.engine.Database.<init>(Database.java:256) 
    at org.h2.engine.Engine.openSession(Engine.java:57) 
    at org.h2.engine.Engine.openSession(Engine.java:164) 
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:142) 
    at org.h2.engine.Engine.createSession(Engine.java:125) 
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:150) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: java.lang.NullPointerException 
    at org.h2.mvstore.DataUtils.parseMap(DataUtils.java:630) 
    at org.h2.mvstore.MVStore.openMap(MVStore.java:411) 
    at org.h2.mvstore.db.TransactionStore.<init>(TransactionStore.java:96) 
    at org.h2.mvstore.db.MVTableEngine$Store.<init>(MVTableEngine.java:161) 
    at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:94) 
    at org.h2.engine.Database.getPageStore(Database.java:2355) 
    at org.h2.engine.Database.open(Database.java:659) 
    at org.h2.engine.Database.openDatabase(Database.java:262) 
    ... 7 more 

    at org.h2.engine.SessionRemote.done(SessionRemote.java:610) 
    at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:129) 
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:434) 
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:315) 
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107) 
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91) 
    at org.h2.Driver.connect(Driver.java:74) 
    at org.h2.server.web.WebServer.getConnection(WebServer.java:684) 
    at org.h2.server.web.WebApp.test(WebApp.java:896) 
    at org.h2.server.web.WebApp.process(WebApp.java:222) 
    at org.h2.server.web.WebApp.processRequest(WebApp.java:171) 
    at org.h2.server.web.WebThread.process(WebThread.java:138) 
    at org.h2.server.web.WebThread.run(WebThread.java:94) 
    at java.lang.Thread.run(Thread.java:744) 

问题出现在我的应用程序和使用 H2 Web 前端。

4

1 回答 1

0

目前尚不清楚您是在尝试修复此 NPE 的原因,还是在尝试检索数据库的内容。

我建议如下:

如果 NPE 问题仍然存在,您需要在此论坛中提供更多详细信息。

于 2015-08-20T06:55:07.480 回答