2014-10-29 125 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”。

对不起,如果我在英语语法中有一些错误。