I would like some guidance from the community re: an issue I am experiencing while attempting to connect to a .h2.db file on my system.
I am using H2 console, with Generic H2 (Embedded) settings, and ensuring that my path does not include the .h2.db extension. When I test the connection, I encounter the following error:
General error: "java.lang.RuntimeException: page[252] data leaf table:16 T16 entries:1 parent:5380 overflow:251 keys:[387] offsets:[19] parent 5380 expected 521" [50000-192] HY000/50000 (Help) org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: page[252] data leaf table:16 T16 entries:1 parent:5380 overflow:251 keys:[387] offsets:[19] parent 5380 expected 521" [50000-192] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:168) at org.h2.message.DbException.convert(DbException.java:295) at org.h2.engine.Database.openDatabase(Database.java:301) at org.h2.engine.Database.(Database.java:264) at org.h2.engine.Engine.openSession(Engine.java:64) at org.h2.engine.Engine.openSession(Engine.java:176) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154) at org.h2.engine.Engine.createSession(Engine.java:137) at org.h2.engine.Engine.createSession(Engine.java:27) at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349) at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:118) at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:102) at org.h2.Driver.connect(Driver.java:72) at org.h2.server.web.WebServer.getConnection(WebServer.java:735) at org.h2.server.web.WebApp.test(WebApp.java:893) at org.h2.server.web.WebApp.process(WebApp.java:221) at org.h2.server.web.WebApp.processRequest(WebApp.java:170) at org.h2.server.web.WebThread.process(WebThread.java:133) at org.h2.server.web.WebThread.run(WebThread.java:89) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.RuntimeException: page[252] data leaf table:16 T16 entries:1 parent:5380 overflow:251 keys:[387] offsets:[19] parent 5380 expected 521 at org.h2.message.DbException.throwInternalError(DbException.java:242) at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:245) at org.h2.index.PageDataNode.getLastKey(PageDataNode.java:214) at org.h2.index.PageDataIndex.(PageDataIndex.java:86) at org.h2.table.RegularTable.(RegularTable.java:83) at org.h2.store.PageStore.addMeta(PageStore.java:1696) at org.h2.store.PageStore.readMetaData(PageStore.java:1627) at org.h2.store.PageStore.recover(PageStore.java:1405) at org.h2.store.PageStore.openExisting(PageStore.java:367) at org.h2.store.PageStore.open(PageStore.java:288) at org.h2.engine.Database.getPageStore(Database.java:2477) at org.h2.engine.Database.open(Database.java:692) at org.h2.engine.Database.openDatabase(Database.java:270) ... 17 more
If I try to connect with H2 server settings, I get a second set of errors:
General error: "java.lang.RuntimeException: page[252] data leaf table:16 T16 entries:1 parent:5380 overflow:251 keys:[387] offsets:[19] parent 5380 expected 521" [50000-192] HY000/50000 (Help) org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException: page[252] data leaf table:16 T16 entries:1 parent:5380 overflow:251 keys:[387] offsets:[19] parent 5380 expected 521" [50000-192] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:168) at org.h2.message.DbException.convert(DbException.java:295) at org.h2.engine.Database.openDatabase(Database.java:301) at org.h2.engine.Database.(Database.java:264) at org.h2.engine.Engine.openSession(Engine.java:64) at org.h2.engine.Engine.openSession(Engine.java:176) at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154) at org.h2.engine.Engine.createSession(Engine.java:137) at org.h2.server.TcpServerThread.run(TcpServerThread.java:148) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.RuntimeException: page[252] data leaf table:16 T16 entries:1 parent:5380 overflow:251 keys:[387] offsets:[19] parent 5380 expected 521 at org.h2.message.DbException.throwInternalError(DbException.java:242) at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:245) at org.h2.index.PageDataNode.getLastKey(PageDataNode.java:214) at org.h2.index.PageDataIndex.(PageDataIndex.java:86) at org.h2.table.RegularTable.(RegularTable.java:83) at org.h2.store.PageStore.addMeta(PageStore.java:1696) at org.h2.store.PageStore.readMetaData(PageStore.java:1627) at org.h2.store.PageStore.recover(PageStore.java:1405) at org.h2.store.PageStore.openExisting(PageStore.java:367) at org.h2.store.PageStore.open(PageStore.java:288) at org.h2.engine.Database.getPageStore(Database.java:2477) at org.h2.engine.Database.open(Database.java:692) at org.h2.engine.Database.openDatabase(Database.java:270) ... 7 more
at org.h2.engine.SessionRemote.done(SessionRemote.java:624)
at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:143)
at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:448)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:329)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at org.h2.server.web.WebServer.getConnection(WebServer.java:735)
at org.h2.server.web.WebApp.test(WebApp.java:893)
at org.h2.server.web.WebApp.process(WebApp.java:221)
at org.h2.server.web.WebApp.processRequest(WebApp.java:170)
at org.h2.server.web.WebThread.process(WebThread.java:133)
at org.h2.server.web.WebThread.run(WebThread.java:89)
at java.lang.Thread.run(Unknown Source)
I located another post in which a suggestion was made to attempt a recovery of the file (based on a theory of corrupted data). I attempted to do so, and received these errors
The file size reads approximately 14MB. If I look at the file in hex, I see lots of data - so I know there is data to view. I believe I am missing a step somewhere, in successfully connecting to the file. Any assistance would be greatly appreciated.