Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接到端口1527上的服务器本地主机时出错,消息连接被拒绝_Java_Derby - Fatal编程技术网

Java 连接到端口1527上的服务器本地主机时出错,消息连接被拒绝

Java 连接到端口1527上的服务器本地主机时出错,消息连接被拒绝,java,derby,Java,Derby,我正在创建一个java项目,我想使用derby数据库,我配置了数据库,创建了名为/home/user/TestDB的数据库,创建了一个表user,在其中插入3到4个值,并编写一个代码从数据库中获取数据,但当我连接数据库时,我发现连接拒绝错误,我很有用 DB URL : jdbc:derby://localhost:1527/home/user/TestDB 错误日志: java.sql.SQLNonTransientConnectionException: java.net.ConnectE

我正在创建一个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.sql.SQLNonTransientConnectionException:java.net.ConnectException:连接到端口1527上的服务器本地主机时出错,消息连接被拒绝。
位于org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(未知源)
位于org.apache.derby.client.am.SqlException.getSQLException(未知源)
位于org.apache.derby.jdbc.ClientDriver.connect(未知源)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:208)
位于test.derby.util.DerbyUtil.getConneAction(DerbyUtil.java:34)
位于test.derby.dao.TestDAO.getData(TestDAO.java:20)
位于test.derby.dao.TestDAO.main(TestDAO.java:39)
原因:org.apache.derby.client.am.DisconnectException:java.net.ConnectException:连接到端口1527上的服务器本地主机时出错,消息连接被拒绝。
位于org.apache.derby.client.net.NetAgent。(来源未知)
位于org.apache.derby.client.net.NetConnection.newAgent(未知源)
位于org.apache.derby.client.am.Connection。(未知源)
位于org.apache.derby.client.net.NetConnection。(来源未知)
位于org.apache.derby.client.net.NetConnection40。(未知来源)
位于org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(未知源)
... 还有6个
原因:java.net.ConnectException:连接被拒绝
位于java.net.PlainSocketImpl.socketConnect(本机方法)

我认为您没有在使用的特定端口启动
derver服务器。您需要在具有默认端口的本地主机上使用以下命令启动服务器
1527

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

startNetworkServer -p 3301  // new port number
有关更多信息,请参阅下面的链接

发生此错误可能是因为以下原因:

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

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

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

4) 服务器未运行


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

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

NETBEANS

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

最佳解决方案

执行数据库程序

第1步: 首先需要启动数据库服务器

打开一个命令shell并更改为保存数据库的目录

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

D:\java2019\数据库)

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

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

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

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

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

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

打开另一个命令shell并更改为保存数据库文件的目录

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

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

打开另一个命令shell并更改

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

在端口1527上的本地主机上没有侦听任何内容。