2017-02-04 3 views
1

Ich versuche, derby Client-Datenbank zu meinem Java-Projekt zu verbinden. Zuerst war alles fine.After 3 Tage später plötzlich das Derby db connected.It das zeigt diese Meldung nicht sein könnte „Fehler auf dem Server localhost Anschluss auf Port 1527 mit der Meldung Verbindung verweigert:“java Derby Verbindung zum Server localhost auf Port 1.527 mit Nachricht Verbindung verweigert

Datenbank-Verbindungscode:

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; 
    } 
} 

Dann bearbeitet C: \ Programme \ Java \ jre1.8.0_77 \ lib \ security die java.policy Datei und fügen Sie die folgende Berechtigung

permission java.net.SocketPermission "localhost:1527", "listen"; 

aber kein Glück! :(

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) 

Was ist los mit mir

+1

_Connection verweigert: connect._ bedeutet, dass nichts auf Port 1527 auf localhost hört; Mit anderen Worten: Derby läuft nicht. –

+0

Haben Sie ein Tool wie NetBeans oder Eclipse verwendet, um Ihr Projekt zu entwickeln? Viele dieser Tools starten den Derby Network Server automatisch für Sie, aber wenn Sie Ihre IDE beenden, wird auch der Server heruntergefahren. Sie können den Derby Network Server von Hand starten, oder Sie können Ihre IDE einfach neu starten, während Sie Ihr Projekt noch entwickeln. –

Antwort

0

Ich denke, Sie ein Problem in Ihrer URL haben, warum Sie den genauen Pfad der Datenbank angeben:

String dbURL2 = "jdbc:derby://localhost:1527/D:/Java Project/Alo Art Academy/AloArtDB;create=true"; 

Die Syntax für die Verbindungs-URL lautet wie folgt:

jdbc:derby:[subsubprotocol:][databaseName][;attribute=value]* 

So Ihre URL wie folgt ändern:

String dbURL2 = "jdbc:derby://localhost:1527/AloArtDB;create=true"; 
  • Vergewissern Sie sich, dass die Post
  • Stellen Sie sicher, offen ist Ihre jdbc derby driver in Klasse Pfad zum Herunterladen und setzen.

können Sie lernen mehr here und here

+0

Zuerst habe ich das verwendet: Zeichenfolge dbURL2 = "jdbc: derby: // localhost: 1527/AloArtDB; create = true"; aber wenn ich mit Problem konfrontiert war ich googelte und etwas Post lesen dann änderte ich dbURL ... aber immer noch dosent Arbeit :( ich hinzugefügt derby.jar, derbyclient.jar, derbyrun.jar, Java-db-Treiber –

Verwandte Themen