2015-10-03 24 views
3

這是我以前的問題How to configure javadb in eclipse?的延續。我能夠對代碼進行一些更改,但現在它給了我這個錯誤 - >錯誤:java.net.ConnectException:連接到端口1527的服務器本地主機並且消息連接被拒絕時發生錯誤:連接。希望你們能幫助我解決這個問題。如何在eclipse中配置javadb(part2)?

這裏是我的代碼:

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

public class Test { 

public static void main(String[] args) { 
    try { 
     Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance(); 
    } catch (InstantiationException e) { 
     e.printStackTrace(); 
    } catch (IllegalAccessException e) { 
     e.printStackTrace(); 
    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 

    final String DB_URL = "jdbc:derby://localhost:1527/CoffeeDB;create=true"; 

    try{ 
     Connection conn = DriverManager.getConnection(DB_URL); 
     Statement stmt = conn.createStatement(); 

     String sql = ("CREATE TABLE Coffee(Description CHAR(25),ProdNum CHAR(10) NOT NULL PRIMARY KEY,Price DOUBLE)"); 
     stmt.execute(sql); 

     sql = "INSERT INTO Coffee VALUES('Bolivian Dark','14-001',8.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Bolivian Medium','14-002',8.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Brazilian Dark','15-001',7.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Brazilian Medium','15-002',7.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Brazilian Decaf','15-003',8.55)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Central American Dark','16-001',9.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Central American Medium','16-002',9.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Sumatra Dark','17-001',7.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Sumatra Decaf','17-002',8.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Sumatra Medium','17-003',7.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Sumatra Organic Dark','17-004',11.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Kona Medium','18-001',18.45)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Kona Dark','18-002',18.45)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('French Roast Dark','19-001',9.65)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Galapagos Medium','20-001',6.85)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Guatemalan Dark','21-001',9.95)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Guatemalan Decaf','21-002',10.45)"; 
     stmt.executeUpdate(sql); 

     sql = "INSERT INTO Coffee VALUES('Guatemalan Medium','21-003',9.95)"; 
     stmt.executeUpdate(sql); 

     String sqlStatement = "SELECT Description FROM Coffee"; 
     ResultSet result = stmt.executeQuery(sqlStatement); 

     System.out.println("Coffees found in the Database"); 
     System.out.println("-----------------------------"); 

     while(result.next()){ 
      System.out.println(result.getString("Description")); 
     } 

     conn.close(); 
    }catch(Exception ex){ 
     System.out.println("ERROR: " + ex.getMessage()); 
    } 

} 

} 
+0

嘿@Pearl,其中OS? –

+0

@James Jithin - 你的意思是操作系統的權利?它的窗戶.. – Pearl

回答

1

我一直在嘗試與您當前的代碼,發現服務器沒有被啓動時發生異常。解決此問題的方法是以簡單的方式啓動服務器:

通過命令提示符轉至derby服務器解壓縮文件夾下的lib文件夾。對我來說如下:

C:\>cd opt\db-derby-10.11.1.1-lib\lib 

C:\opt\db-derby-10.11.1.1-lib\lib>java -jar derbyrun.jar server start 
Sat Oct 03 16:26:29 IST 2015 : Security manager installed using the Basic server security policy. 
Sat Oct 03 16:26:29 IST 2015 : Apache Derby Network Server - 10.11.1.1 - (1616546) started and ready to accept connections on port 1527 

有一種不同的方式可以在Eclipse中啓動服務器。您需要安裝插件然後啓動服務器。下面的參考資料可以幫助你:

Derby Plugin How To
Getting Started with Derby Plugin for Eclipse

+0

最後它的工作..我能夠下載插件和重新排列的環境變量和Java構建路徑.. – Pearl

+0

@珍珠,恭喜!快樂的編碼。感謝您接受答案。 –

+1

另請參閱http://stackoverflow.com/questions/6950996/cant-connect-to-derby-in-eclipse?rq=1和http://stackoverflow.com/questions/25141733/javadb-having-port-connection -error?RQ = 1 –