以编程方式启动H2数据库
问题内容:
我正在用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]
我关注了这篇文章。
问题答案:
这样的事情应该工作
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();
并且输出是已建立的连接:H2 / STACKOVERFLOW
已通过h2-1.4.184测试