2017-02-04 1 views
1

Я пытаюсь подключить базу данных клиентов 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) 

Что со мной

+1

_Connection отказался: connect._ означает, что ничто не прослушивает порт 1527 на локальном хосте; Другими словами: Derby не работает. –

+0

Вы использовали инструмент, например NetBeans или Eclipse, для разработки вашего проекта? Многие из таких инструментов автоматически запускают сетевой сервер Derby для вас, но когда вы выходите из IDE, сервер также отключается. Вы можете запустить Derby Network Server вручную, или вы можете просто перезапустить среду IDE, пока вы все еще разрабатываете свой проект. –

ответ

0

Я думаю, что у вас есть проблемы в вашем 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"; 
  • Убедитесь, что сообщение открыто
  • Убедитесь, чтобы загрузить и поставить jdbc derby driver в классе путь.

Вы можете узнать больше here и here

+0

Сначала я использовал это: String dbURL2 = "jdbc: derby: // localhost: 1527/AloArtDB; create = true"; , но когда я столкнулся с проблемой i googled и прочитал какую-то должность, то я изменил dbURL ... но все же доцентную работу :( Я добавил derby.jar, derbyclient.jar, derbyrun.jar, java db driver –

Смежные вопросы