简体   繁体   English

Netbeans 7.3.1 无法建立到 jdbc:derby 的连接

[英]Netbeans 7.3.1 Cannot establish a connection to jdbc:derby

Recently I'm working on this little project with Java EE and I need to use derby database , but every time I go to service->Database and try to connect to my jdbc:derby I get this error :最近我正在使用 Java EE 处理这个小项目,我需要使用 derby 数据库,但是每次我去 service->Database 并尝试连接到我的 jdbc:derby 时,我都会收到此错误:

Unable to connect.无法连接。 Cannot establish a connection to jdbc:derby://localhost:1527//sample using org.apache.derby.jdbc.ClientDriver (java.netConnectException : Error connecting to server localhost on port 1527 with message Connection refused: connect.).无法建立到 jdbc:derby://localhost:1527//sample using org.apache.derby.jdbc.ClientDriver(java.netConnectException:连接到端口 1527 上的服务器 localhost 时出错,消息连接被拒绝:连接。)。

and this exception :这个例外:

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)

Any ideas how to fix it?任何想法如何解决它?

Did you already try the hint from here http://wiki.netbeans.org/JavaDB_grant_permissions您是否已经尝试过这里的提示http://wiki.netbeans.org/JavaDB_grant_permissions

JDK 7u51 comes with some security improvements which are causing problems with starting Java DB on this Java version. JDK 7u51 附带了一些安全改进,这会导致在此 Java 版本上启动 Java DB 时出现问题。

When you try to start DB from NetBeans you will probably get the Exception:当您尝试从 NetBeans 启动 DB 时,您可能会遇到异常:

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

The same exception you will get while starting using script /db/bin/startNetworkServer开始使用脚本 /db/bin/startNetworkServer 时会遇到相同的异常

Because there is no suitable way to fix it on the NetBeans side and this should be fixed on the side of the Java DB.因为在 NetBeans 端没有合适的方法来修复它,这应该在 Java DB 端修复。

There are several ways how to deal with this problem.有几种方法可以处理这个问题。 I will mention only the easiest way.我只会提到最简单的方法。 You have to start DB manually from command line.您必须从命令行手动启动数据库。

Start Java DB with -noSecurityManager argument.使用 -noSecurityManager 参数启动 Java DB。

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

you need to add start page in project property.您需要在项目属性中添加起始页。 Open Project property.打开项目属性。 Then choose tab run.然后选择选项卡运行。 Then add your project start page to relative URL text box.然后将您的项目起始页添加到相对 URL 文本框中。 Mine is "/index.jsp".我的是“/index.jsp”。

Sorry if i have some mistake in english grammar.对不起,如果我在英语语法上有一些错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM