提问人:Rimwis 提问时间:10/29/2014 最后编辑:Xm7XRimwis 更新时间:11/18/2023 访问量:8519
Netbeans 7.3.1 无法与 jdbc:derby 建立连接
Netbeans 7.3.1 Cannot establish a connection to jdbc:derby
问:
最近我正在用Java EE做这个小项目,我需要使用derby数据库,但是每次我转到service->Database并尝试连接到我的jdbc:derby时,我都会收到此错误:
无法连接。无法使用 org.apache.derby.jdbc.ClientDriver 与 jdbc:derby://localhost:1527//sample 建立连接(java.netConnectException:在端口 1527 上连接到服务器 localhost 时出错,并显示消息连接被拒绝:连接。
和这个例外:
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赞
f01
10/29/2014
#1
您是否已经尝试过这里的提示 http://wiki.netbeans.org/JavaDB_grant_permissions
JDK 7u51 带来了一些安全性改进,这些改进导致在此 Java 版本上启动 Java DB 时出现问题。
当您尝试从 NetBeans 启动数据库时,可能会出现以下异常:
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
10/29/2014
好的,在我启动德比网络服务器后,我得到这个:(连接被拒绝,因为找不到数据库样本)
0赞
f01
10/29/2014
这可能有助于您解决 stackoverflow.com/questions/17375504/ 这部分问题......
0赞
Rimwis
10/29/2014
好。。。我真的不明白如何解决它:/(这个东西的新手)
0赞
Thanh Tài Trần
4/14/2016
#2
您需要在项目属性中添加起始页。 打开“项目”属性。然后选择 tab run。然后,将项目起始页添加到相对 URL 文本框中。我的是“/index.jsp”。
对不起,如果我在英语语法上有一些错误。
评论