question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

DBeaver can not work with embedded H2 DB

See original GitHub issue

System information:

  • Windows 10
  • DBeaver version: 6.1.0 EE
  • Java version: n\a
  • Additional extensions: no

Connection specification:

  • H2 embedded mode
  • n\a
  • Do you use tunnels or proxies (SSH, SOCKS, etc)? no

Describe the problem you’re observing:

DBeaver does not see anything in DB, but can connect to it.

Steps to reproduce, if exist:

I start h2 in memory mode and use for it spring boot test. When I create a connection and test it in DBeaver - everything is fine: image image

I can see schemes, but nothing else: image

Include any warning/errors/backtraces from the logs

2019-06-13 18:12:41.075 - Can't read generic functions org.h2.jdbc.JdbcSQLException: Feature not supported: "getFunctions" [50100-196] 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.message.DbException.getUnsupportedException(DbException.java:216) at org.h2.message.TraceObject.unsupported(TraceObject.java:374) at org.h2.jdbc.JdbcDatabaseMetaData.getFunctions(JdbcDatabaseMetaData.java:3134) at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCDatabaseMetaDataImpl.getFunctions(JDBCDatabaseMetaDataImpl.java:229) at org.jkiss.dbeaver.ext.generic.model.meta.GenericMetaModel.loadProcedures(GenericMetaModel.java:292) at org.jkiss.dbeaver.ext.generic.model.GenericObjectContainer.loadProcedures(GenericObjectContainer.java:413) at org.jkiss.dbeaver.ext.generic.model.GenericObjectContainer.getPackages(GenericObjectContainer.java:267) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.extractPropertyValue(DBNDatabaseNode.java:825) at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.access$1(DBNDatabaseNode.java:806) at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode$PropertyValueReader.run(DBNDatabaseNode.java:886) at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode$PropertyValueReader.run(DBNDatabaseNode.java:1) at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:146) at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.loadTreeItems(DBNDatabaseNode.java:499) at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.loadChildren(DBNDatabaseNode.java:422) at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.getChildren(DBNDatabaseNode.java:207) at org.jkiss.dbeaver.model.navigator.DBNDatabaseNode.getChildren(DBNDatabaseNode.java:1) at org.jkiss.dbeaver.model.navigator.DBNUtils.getNodeChildrenFiltered(DBNUtils.java:68) at org.jkiss.dbeaver.ui.navigator.database.load.TreeLoadService.evaluate(TreeLoadService.java:49) at org.jkiss.dbeaver.ui.navigator.database.load.TreeLoadService.evaluate(TreeLoadService.java:1) at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:86) at org.jkiss.dbeaver.ui.LoadingJob.run(LoadingJob.java:71) at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:102) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:2
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

6reactions
p91paulcommented, Jun 20, 2019

h2 database, while working “in memory” exists solely on your process memory. Since your unit test and DBeaver are different processes, if they both use an h2 mem db they get 2 different databases, one in the memory of each process. I’m not aware of a way in which one process can connect to the h2 db of another project. If you are debugging you should temporarily switch to persistent mode in your unit test; your test will probably write a file somewhere and you can try to access that from DBeaver.

0reactions
istibekesicommented, Oct 17, 2021

@PXNX did you start H2 in server mode? Default port supposed to be 9092 in that case.

Read more comments on GitHub >

github_iconTop Results From Across the Web

connecting to H2 database - Stack Overflow
I have tried opening the file with DBeaver using the H2 embedded option. This results in 2 schema's: INFORMATION_SCHEMA.
Read more >
H2 embedded jdbc URI parsing ... - DBeaver Forum • View topic
So I just wanted to check: is this running on a Windows machine? ... If it's a folder name, is there a file...
Read more >
H2 database tools · Practicalli Clojure WebApps
DBeaver is a free database tool that supports the H2 database and many other databases. Create a new connection. Create a New Connection...
Read more >
Access to WSO2 Databases with DBeaver - Yenlo
We right-click on new connection and Create a new connection. Select H2 (embedded) for the version. We enter the userid and password (wso2carbon/wso2carbon) ......
Read more >
Create Connection - DBeaver Documentation
Create Connection · Click the New Connection Wizard button in the application toolbar or in the Database Navigator view toolbar: · Click Database...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found