I'm coding a server-client application in Java and I need to implement a local database on the server side and I decided to go for H2 database engine.
One more thing to add is that I usa TCP connection to start and run the database. This is what I put together so far:
Class.forName("org.h2.Driver");
Server server = Server.createTcpServer(DB_PATH).start();
Connection currentConn = DriverManager.getConnection(DB_PATH, DB_USER, DB_PASSWORD);
Where the connection string is jdbc:h2:tcp://localhost/~/test
.
That piece of code returns with an exception:
Feature not supported: "jdbc:h2:tcp://localhost/~/test" [50100-176]
I followed this article.
I was able to do it a little more easily accepting the defaults:
Server server = Server.createTcpServer().start();
Something like this should work
Server server = null;
try {
server = Server.createTcpServer("-tcpAllowOthers").start();
Class.forName("org.h2.Driver");
Connection conn = DriverManager.
getConnection("jdbc:h2:tcp://localhost/~/stackoverflow", "sa", "");
System.out.println("Connection Established: "
+ conn.getMetaData().getDatabaseProductName() + "/" + conn.getCatalog());
} catch (Exception e) {
e.printStackTrace();
}
and the output is Connection Established: H2/STACKOVERFLOW
This has been tested with h2-1.4.184
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With