如何在控制台中连接到WebServer模式H2数据库?

 热血洒在青春中 发布于 2023-02-08 11:40

在H2文档中,它表示只有Web服务器支持浏览器连接.这是否意味着我们只能在WebServer模式下通过控制台访问H2数据库,而不是TcpServer?但是,当我在下面进行测试时,结果完全不如预期.

public class TestMem {
    public static void main(String... args) throws Exception {

        Class.forName("org.h2.Driver");
        Connection conn = DriverManager.getConnection("jdbc:h2:mem:test");
        conn.createStatement().execute("create table test(id int)");

        Server server = Server.createTcpServer().start();//1.TcpServer
//      Server server = Server.createWebServer().start();//2.WebServer

        System.out.println("Server started and connection is open.");
        System.out.println("URL: jdbc:h2:" + server.getURL() + "/mem:test");

        Thread.sleep(5*60*1000);

        System.out.println("Stopping server and closing the connection");
        server.stop();
        conn.close();
    }
}

如果我启动一个TcpServer,我可以通过这个url访问数据库:jdbc:h2:tcp:// localhost:9092/mem:test in console.

//Use TcpServer
  Server server = Server.createTcpServer().start();

但是当我启动WebServer时,我尝试连接使用jdbc:h2:http:// localhost:8082/mem:test,下面将抛出异常:IO例外:"java.io.IOException:文件名,目录名或者卷标语法不正确"; "http:// localhost:8082/mem:test.h2.db"[90031-172] 90031/90031(帮助).

//Use WebServer
  Server server = Server.createWebServer().start();

这是我的问题

    我们可以在控制台中访问WebServer模式h2 DataBase吗?怎么样?

    我是否误解了有关使用服务器部分的H2文档?

Thomas Muell.. 5

该H2控制台工具(使用创建的Server.createWebServer)是一个Web服务器和一个小型Web应用程序,允许您连接到使用Web浏览器数据库(任何JDBC数据库)(如Firefox,谷歌Chrome,IE浏览器,等等).

该H2 TCP服务器(使用创建的Server.createTcpServer)是H2 JDBC客户端的服务器.它不是Web服务器,也不是Web应用程序.您无法从Web浏览器连接到此服务器.

如果同时启动控制台工具(Web服务器)和TCP服务器,则可以使用浏览器连接到控制台工具,然后可以在服务器模式下连接到H2数据库.

关于数据库URL:请参阅有关数据库URL的文档.

1 个回答
  • 该H2控制台工具(使用创建的Server.createWebServer)是一个Web服务器和一个小型Web应用程序,允许您连接到使用Web浏览器数据库(任何JDBC数据库)(如Firefox,谷歌Chrome,IE浏览器,等等).

    该H2 TCP服务器(使用创建的Server.createTcpServer)是H2 JDBC客户端的服务器.它不是Web服务器,也不是Web应用程序.您无法从Web浏览器连接到此服务器.

    如果同时启动控制台工具(Web服务器)和TCP服务器,则可以使用浏览器连接到控制台工具,然后可以在服务器模式下连接到H2数据库.

    关于数据库URL:请参阅有关数据库URL的文档.

    2023-02-08 11:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有