【问题标题】:Error connecting to server localhost on port 1527 with message Connection refused在端口 1527 上连接到服务器 localhost 时出错,并显示连接被拒绝消息
【发布时间】:2017-08-19 06:40:32
【问题描述】:

我正在创建一个 java 项目,我想使用 derby 数据库,并且我配置了数据库并创建了名为 /home/user/TestDB 的数据库并创建了一个表 user 并将 3 到 4 个值插入其中并写入从数据库中获取数据的代码,但是当我连接dada base时出现连接拒绝错误,我正在使用

 DB URL : jdbc:derby://localhost:1527/home/user/TestDB

错误日志:

java.sql.SQLNonTransientConnectionException: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.
    at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
    at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
    at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:208)
    at test.derby.util.DerbyUtil.getConnecation(DerbyUtil.java:34)
    at test.derby.dao.TestDAO.getData(TestDAO.java:20)
    at test.derby.dao.TestDAO.main(TestDAO.java:39)
Caused by: org.apache.derby.client.am.DisconnectException: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.
    at org.apache.derby.client.net.NetAgent.<init>(Unknown Source)
    at org.apache.derby.client.net.NetConnection.newAgent_(Unknown Source)
    at org.apache.derby.client.am.Connection.<init>(Unknown Source)
    at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
    at org.apache.derby.client.net.NetConnection40.<init>(Unknown Source)
    at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(Unknown Source)
    ... 6 more
Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)

【问题讨论】:

  • 在 localhost 的 1527 端口上没有监听任何东西。

标签: java derby


【解决方案1】:

我认为您没有在您正在使用的特定端口中启动您的derver server。您需要在 localhost 上使用以下命令启动服务器,默认端口为 1527

startNetworkServer -h 0.0.0.0

如果要更改端口,可以使用以下命令:

startNetworkServer -p 3301  // new port number

更多内容可以参考以下链接;

http://www.vogella.com/tutorials/ApacheDerby/article.html

可能是由于以下原因而发生此错误:

1) 主机端口组合不允许使用防火墙

2) 客户端和服务器,其中一个或两个都不在网络中。

3) 服务器正在运行但未监听端口,客户端正在尝试连接。

4) 服务器没有运行。

5) 连接字符串中的协议不正确

【讨论】:

    【解决方案2】:

    这个错误只是因为你的数据库没有连接。

    NETBEANS

    转到服务>数据库>Java DB>(右键单击) 之后只需右键单击您的数据库并连接数据库。

    【讨论】:

      【解决方案3】:

      最佳解决方案

      执行数据库程序

      第 1 步: 需要启动第一个数据库服务器

      打开命令外壳并切换到将保存数据库的目录

      文件(在以下示例中,数据库将存储在

      D:\java2019\数据库)

      D:\java2019\Database>“C:\Program Files\Java\jdk1.8.0_60\db\bin\startNetworkServer”

      IST 2019 年 3 月 13 日星期三 10:36:36:使用基本服务器安全策略安装的安全管理器。 IST 2019 年 3 月 13 日星期三 10:36:37:Apache Derby 网络服务器 - 10.11.1.2 - (1629631) 已启动并准备好接受端口 1527 上的连接

      默认端口号为 1527 我们也可以通过以下方式更改端口号
      命令

      D:\java2019\Database>"C:\Program Files\Java\jdk1.8.0_60\db\bin\startNetworkServer" -p 1567

      IST 2019 年 3 月 13 日星期三 10:46:33:使用基本服务器安全策略安装的安全管理器。 IST 2019 年 3 月 13 日星期三 10:46:33:Apache Derby 网络服务器 - 10.11.1.2 - (1629631) 已启动并准备好接受端口 1567 上的连接

      第二步: 编译并执行java程序

      打开另一个命令外壳并切换到将保存数据库文件的目录。设置 derbyrun.jar 的类路径

      set classpath=".;C:\Program Files\Java\jdk1.8.0_66\db\lib\derbyrun.jar"

      第三步: 最后需要停止数据库服务器

      打开另一个命令外壳并更改

      D:\java2019\Database>"C:\Program Files\Java\jdk1.8.0_60\db\bin\stopNetworkServer" IST 2019 年 3 月 13 日星期三 10:56:04:Apache Derby 网络服务器 - 10.11.1.2 - (1629631) 关闭

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-07
        • 2013-06-24
        • 1970-01-01
        • 2015-03-14
        相关资源
        最近更新 更多