在端口1527上连接到服务器localhost时出错,并显示消息Connection refused

问题描述 投票:3回答:3

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

 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)
java derby
3个回答
5
投票

我想你不是在你正在使用的特定端口启动你的derver server。你需要使用默认端口1527在localhost上使用以下命令启动服务器

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)连接字符串中的协议不正确


0
投票

发生此错误只是因为您的数据库未连接。

NETBEANS

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


0
投票

最佳方案

执行数据库程序

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

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

文件(在下面的例子中,数据库将存储在

d:\ java2019 \数据库)

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

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

默认端口号是1527我们也可以通过以下方式更改端口号 CMD

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

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

Step2:编译并执行java程序

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

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

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

打开另一个命令shell并进行更改

D:\ java2019 \ Database>“C:\ Program Files \ Java \ jdk1.8.0_60 \ db \ bin \ stopNetworkServer”Wed Mar 13 10:56:04 IST 2019:Apache Derby Network Server - 10.11.1.2 - (1629631)关掉

© www.soinside.com 2019 - 2024. All rights reserved.