2014-10-29 46 views
0

最近我正在與Java EE一起開展這個小項目,我需要使用derby數據庫,但每次去服務 - >數據庫並嘗試連接到我的jdbc:derby我得到這個錯誤:Netbeans 7.3.1無法建立與jdbc的連接:derby

無法連接。無法建立與jdbc:derby:// localhost:1527的連接//使用org.apache.derby.jdbc.ClientDriver的示例(java.netConnectException:通過消息Connection refused:connect。在端口1527上連接到服務器本地主機時發生錯誤)。

與此異常:

Wed Oct 29 15:05:26 EET 2014 : access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve") 
java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve") 
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:457) 
    at java.security.AccessController.checkPermission(AccessController.java:884) 
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 
    at java.lang.SecurityManager.checkListen(SecurityManager.java:1131) 
    at java.net.ServerSocket.bind(ServerSocket.java:374) 
    at java.net.ServerSocket.<init>(ServerSocket.java:237) 
    at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl.createServerSocket(Unknown Source) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl.access$000(Unknown Source) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl$1.run(Unknown Source) 
    at java.security.AccessControWed Oct 29 15:05:26 EET 2014 : access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve") 
java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve") 
    at java.security.AccessContrller.doPrivileged(Native Method) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(Unknown Source) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl.executeWork(Unknown Source) 
    at org.apache.derby.drda.NetworkServerControl.maiolContext.checkPermission(AccessControlContext.java:457) 
    at java.security.AccessController.checkPermission(AccessController.java:884) 
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 
    at java.lang.SecurityManager.checkListen(SecurityManager.java:1131) 
    at java.net.ServerSocket.bind(ServerSocket.java:374) 
    at java.net.ServerSocket.<init>(ServerSocket.java:237) 
    at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl.createServerSocket(Unknown Source) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl.access$000(Unknown Source) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(Unknown Source) 
    at org.apache.derby.impl.drda.NetworkServerControlImpl.executeWork(Unknown Source) 
    at org.apache.derby.drda.NetworkServerControl.main(Unknown Source) 
n(Unknown Source) 

任何想法如何解決呢?

回答

0

您是否已經從這裏嘗試提示http://wiki.netbeans.org/JavaDB_grant_permissions

JDK 7u51自帶這是問題的根源與此Java版本啓動Java DB一些安全改進。

當您嘗試從NetBeans中啓動DB,你可能會得到異常:

java.security.AccessControlException: access denied ("java.net.SocketPermission" "localhost:1527" "listen,resolve") 

同樣的異常,而使用腳本/ DB/bin中開始你會得到/ startNetworkServer

因爲沒有解決它在NetBeans方面的一個合適的方法,這應該固定在Java DB的一側。

有幾種方法可以解決這個問題。我只會提到最簡單的方法。您必須從命令行手動啓動數據庫。

使用-noSecurityManager參數啓動Java DB。

<JDK 7u51 location>/db/bin/startNetworkServer -noSecurityManager 
+1

確定後,我開始德比網絡服務器我得到這個:(連接被拒絕,因爲沒有找到數據庫示例) – Rimwis 2014-10-29 14:00:26

+0

這可能會幫助你解決那部分http://stackoverflow.com/questions/17375504/database-not - 發現錯誤時連接到德比網絡服務器 – f01 2014-10-29 14:07:57

+0

Okey ...我真的不知道如何解決它:/(新東西) – Rimwis 2014-10-29 14:27:50

0

您需要在項目屬性中添加開始頁面。 打開項目屬性。然後選擇標籤運行。然後將您的項目開始頁面添加到相對URL文本框。我的是「/index.jsp」。

對不起,如果我在英語語法中有一些錯誤。