【问题标题】:connection has a remote Database连接有一个远程数据库
【发布时间】:2012-04-07 22:40:17
【问题描述】:

我从远程计算机使用 H2 数据库作为 DBMS,因此我启用了从浏览器进行远程访问,如下所示:

webAllowOthers=true

但是当我尝试从我的 java 应用程序连接到服务器时,我从 H2 收到此错误:

remote connections to this server are not allowed

截图:

并且还已经使用(错误代码:90117)查看代码分析器:

REMOTE_CONNECTION_NOT_ALLOWED = 90117

如果不允许远程连接,则在尝试从另一台计算机连接到 TCP 服务器时会引发代码 90117 的错误。要允许远程连接,请使用选项 -tcpAllowOthers 启动 TCP 服务器,如下所示:

java org.h2.tools.Server -tcp -tcpAllowOthers

或者,从应用程序启动服务器时,使用: 服务器服务器 = Server.createTcpServer("-tcpAllowOthers"); server.start();

我不明白如何激活tcpAllowOthers,它在.h2.server.properties中不存在?

【问题讨论】:

    标签: java h2


    【解决方案1】:

    有两种不同的服务器:

    • 用于运行 H2 控制台工具(GUI 工具)的 Web 控制台服务器。它只能通过浏览器访问。
    • 在使用客户端/服务器模式时允许连接使用 JDBC 的应用程序的 TCP 服务器 (jdbc:h2:tcp://localhost/~/test)

    文件.h2.server.properties 仅用于Web 控制台服务器。它只支持webAllowOthers=true。 TCP 服务器不使用此文件。

    要启用对 TCP 服务器的远程访问,您需要使用选项 -tcpAllowOthers 启动 TCP 服务器。要同时启动 Web 控制台服务器(H2 控制台工具)启用远程连接的 TCP 服务器,您需要使用:

    java -jar h2*.jar -web -webAllowOthers -tcp -tcpAllowOthers -browser
    

    (这也会启动浏览器)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-02
    • 2016-08-05
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多