Я пытаюсь подключить базу данных клиентов derby к моему проекту java. Сначала все было fine.After через 3 дня Внезапно дерби дб может не быть connected.It, показывающего это сообщение «Ошибка подключения к серверу локального хоста на порт 1527 с сообщением о соединении отказано:»java derby подключение к серверу localhost на порту 1,527 с сообщением Соединение отклонено
базы данных код подключения:
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_77 \ Lib \ безопасность java.policy файл и добавить следующее разрешение
permission java.net.SocketPermission "localhost:1527", "listen";
но не повезло! :(
StackTrace:
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)
Что со мной
_Connection отказался: connect._ означает, что ничто не прослушивает порт 1527 на локальном хосте; Другими словами: Derby не работает. –
Вы использовали инструмент, например NetBeans или Eclipse, для разработки вашего проекта? Многие из таких инструментов автоматически запускают сетевой сервер Derby для вас, но когда вы выходите из IDE, сервер также отключается. Вы можете запустить Derby Network Server вручную, или вы можете просто перезапустить среду IDE, пока вы все еще разрабатываете свой проект. –