我正在用 Java 编写一个服务器-客户端应用程序,我需要在服务器端实现一个本地数据库,因此我决定使用 H2 数据库引擎。
还有一点要补充的是,我使用 TCP 连接来启动和运行数据库。 这是我到目前为止放在一起的:
Class.forName("org.h2.Driver");
Server server = Server.createTcpServer(DB_PATH).start();
Connection currentConn = DriverManager.getConnection(DB_PATH, DB_USER, DB_PASSWORD);
其中连接字符串是jdbc:h2:tcp://localhost/~/test
。
那段代码返回异常:
Feature not supported: "jdbc:h2:tcp://localhost/~/test" [50100-176]
我关注了this article .
最佳答案
像这样的东西应该可以工作
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();
}
输出是Connection Established: H2/STACKOVERFLOW
这已通过 h2-1.4.184 测试
关于java - 以编程方式启动 H2 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29183503/