java derby连接到端口1527上的服务器本地主机,消息连接被拒绝
我正在尝试将derby客户端数据库连接到我的java项目。起初一切正常。3天后,derby db突然无法连接。它显示以下消息“连接到端口1527上的服务器本地主机时出错,消息连接被拒绝:” 数据库连接代码:java derby连接到端口1527上的服务器本地主机,消息连接被拒绝,java,database,jdbc,derby,Java,Database,Jdbc,Derby,我正在尝试将derby客户端数据库连接到我的java项目。起初一切正常。3天后,derby db突然无法连接。它显示以下消息“连接到端口1527上的服务器本地主机时出错,消息连接被拒绝:” 数据库连接代码: public Connection getConnection() { try { String driver = "org.apache.derby.jdbc.ClientDriver"; try { Class.forN
public Connection getConnection() {
try {
String driver = "org.apache.derby.jdbc.ClientDriver";
try {
Class.forName(driver);
} catch (java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
String dbURL2 = "jdbc:derby://localhost:1527/D:/Java Project/Alo Art Academy/AloArtDB;create=true";
String user = "HabibDB";
String password = "habib2017";
Connection conn = DriverManager.getConnection(dbURL2, user, password);
if (conn != null) {
System.out.println("Connected to database #2");
}
return conn;
} catch (SQLException ex) {
ex.printStackTrace();
return null;
}
}
然后编辑了C:\Program Files\Java\jre1.8.0\u 77\lib\security
创建java.policy文件并添加以下权限
permission java.net.SocketPermission "localhost:1527", "listen";
但是没有运气(
堆栈跟踪:
java.sql.SQLNonTransientConnectionException: java.net.ConnectException : Error connecting to server localhost on port 1,527 with message Connection refused: connect.
at org.apache.derby.client.am.SQLExceptionFactory.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:247)
at alo.art.academy.workstation.getConnection(workstation.java:46)
at alo.art.academy.workstation.<init>(workstation.java:27)
at alo.art.academy.AloArtAcademy$1.run(AloArtAcademy.java:26)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
java.sql.SQLNonTransientConnectionException:java.net.ConnectException:连接到端口1527上的服务器本地主机时出错,消息连接被拒绝:connect。
位于org.apache.derby.client.am.SQLExceptionFactory.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:247)
位于alo.art.academy.workstation.getConnection(workstation.java:46)
在alo.art.academy.workstation.(workstation.java:27)
在alo.art.academy.AloArtAcademy$1.run(AloArtAcademy.java:26)
在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)中
位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
在java.awt.EventQueue.access$500(EventQueue.java:97)
在java.awt.EventQueue$3.run(EventQueue.java:709)
在java.awt.EventQueue$3.run(EventQueue.java:703)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
位于java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)中
位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:105)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
在java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
我怎么了?我想你的URL有问题,为什么要指定数据库的确切路径:
String dbURL2 = "jdbc:derby://localhost:1527/D:/Java Project/Alo Art Academy/AloArtDB;create=true";
连接URL语法如下所示:
jdbc:derby:[subsubprotocol:][databaseName][;attribute=value]*
因此,请按以下方式更改您的URL:
String dbURL2 = "jdbc:derby://localhost:1527/AloArtDB;create=true";
- 确保邮局是开着的
- 一定要下载并把你的电脑放在课堂上 路径
您可以了解更多信息,我认为您的URL中存在一个问题,即为什么要指定数据库的确切路径:
String dbURL2 = "jdbc:derby://localhost:1527/D:/Java Project/Alo Art Academy/AloArtDB;create=true";
连接URL语法如下所示:
jdbc:derby:[subsubprotocol:][databaseName][;attribute=value]*
因此,请按以下方式更改您的URL:
String dbURL2 = "jdbc:derby://localhost:1527/AloArtDB;create=true";
- 确保邮局是开着的
- 一定要下载并把你的电脑放在课堂上 路径
您可以了解更多信息,并且连接被拒绝:connect。这意味着本地主机上的端口1527上没有任何内容正在侦听;换句话说:Derby没有运行。您是否使用了NetBeans或Eclipse之类的工具来开发您的项目?许多这样的工具会自动为您启动Derby网络服务器,但当您退出IDE时,服务器也会自动启动s关闭。您可以手动启动Derby网络服务器,也可以在开发项目时重新启动IDE。连接被拒绝:connect。意味着没有任何内容正在本地主机上的端口1527上侦听;换句话说:Derby没有运行。您是否使用了NetBeans或Eclipse之类的工具来开发项目?很多这样的工具OOL会自动为您启动Derby网络服务器,但当您退出IDE时,服务器也会关闭。您可以手动启动Derby网络服务器,也可以在您仍在开发项目时重新启动IDE。起初我使用的是:String dbURL2=“jdbc:derby://localhost:1527/AloArtDB;create=true“;但当我面临问题时,我在谷歌上搜索并阅读了一些帖子,然后我更改了dbURL……但仍然没有成功:(我添加了derby.jar、derbyclient.jar、derbyrun.jar、java db driverAt,首先我使用的是:String dbURL2=“jdbc:derby://localhost:1527/AloArtDB;create=true“;但当我面临问题时,我在谷歌上搜索并阅读了一些帖子,然后我更改了dbURL……但仍然没有做任何工作:(我添加了derby.jar、derbyclient.jar、derbyrun.jar、JavaDB驱动程序