对 h2 以外的数据库的 H2 控制台访问

Posted

技术标签:

【中文标题】对 h2 以外的数据库的 H2 控制台访问【英文标题】:H2 console access for databases other than h2 【发布时间】:2010-07-10 03:08:33 【问题描述】:

H2 控制台 (http://localhost:8082/login.jsp) 可以选择查看任何数据库的详细信息,如果我们与 mysql 或其他数据库服务器进行 tp 通信,我们应该将 jdbc 驱动程序复制到哪里。复制bin目录下的jdbc驱动文件(mysql-connector-java-5.0.8-bin.jar)好像没有帮助

注意:我的 H2 服务器作为服务运行

【问题讨论】:

【参考方案1】:

要使用其他数据库(例如 MySQL),需要在安装服务之前将这些数据库的 JDBC 驱动程序的位置添加到环境变量 H2DRIVERS 或 CLASSPATH 中。可设置多个驱动程序;每个条目需要用 ; 分隔(Windows) 或 : (其他操作系统)。支持路径名中的空格。不得引用设置。

【讨论】:

使用 H2DRIVERS 变量可能是正确的选择 (h2database.com/html/tutorial.html#tutorial_starting_h2_console),很快就会尝试一下【参考方案2】:

我只是在启动服务器时将驱动程序放在classpath 上:

classpath=.:/opt/h2/bin/h2.jar:/opt/derby/lib/derby.jar:...
server=org.h2.tools.Server
java -cp $classpath $server -tcp -web ... &

或者,这是您可以将JAR 添加到java.ext.dirs 之一的罕见情况之一。您可以查看平台上可用的内容:

System.out.println(System.getProperty("java.ext.dirs"));

【讨论】:

暂时用的是ext文件夹 @Samuel:虽然很方便,但如果你忘记它的存在,那就是个问题了(他遗憾地说:-)。您可以检查您的服务包装器是否可以容纳。 是的,我确实有同样的担忧。确实查看了服务包装脚本,但我不确定在哪里 |如何添加这些外部 jars

以上是关于对 h2 以外的数据库的 H2 控制台访问的主要内容,如果未能解决你的问题,请参考以下文章

使用 webAllowOthers 远程访问 H2 控制台

docker 容器中的 H2 DB

使用 h2-browser 访问 play 项目数据库时用户名错误

SpringBoot实战之使用JDBC和Spring访问数据库

SpringBoot实战之使用JDBC和Spring访问数据库

如何在 H2 数据库中查看模型类