数据源 derby - 连接被拒绝
Posted
技术标签:
【中文标题】数据源 derby - 连接被拒绝【英文标题】:data sources derby - connection refused 【发布时间】:2012-05-12 08:23:28 【问题描述】:我正在尝试将数据库与 java 项目连接。在阅读了一些教程和课程支持后,我了解到我需要在 Admin Console 下新建一个数据源。
所以,我已经登录到管理控制台,然后导航到资源 -> JDBC -> 数据源 -> 新建;填写这些字段,当我测试连接时,我得到的错误是这个:
消息 数据源 MyDB 上的测试连接操作失败 节点 RO2CVG6CNode01 上的服务器 server1,但有以下异常: java.sql.SQLNonTransientException:java.net.ConnectException:错误 使用消息 Connection 连接到端口 1527 上的服务器 localhost 拒绝:connect.DSRA0010E:SQL 状态 = 08001,错误代码 = 40,000。 查看 JVM 日志以获取更多详细信息。
我不知道问题出在哪里。也许使用数据库名称: jdbc:derby:D:\MyDB ?任何人都可以帮助我吗? 在this tutorial 之后,我也尝试仅使用 MyDB。 但是还是不行。
【问题讨论】:
在端口 1527 上连接到服务器 localhost 时出错 --> 此错误表示端口 1527 上没有运行数据库。 确保服务器正在运行:myeclipseide.com/documentation/quickstarts/blueedition/… 此链接将很有帮助:***.com/a/30272670/3728901。如果我们一步一步做得正确,我们将避免错误。 【参考方案1】:下载德比到以下位置:
/home/ <user_directory> /apache-derby/
如下设置类路径/路径:
export DERBY_HOME=/home/<user_directory>/magister-database
export DERBY_INSTALL=/home/<user_directory>/apache-derby/db-derby-10.11.1.1-bin
export CLASSPATH=$DERBY_INSTALL/lib/derbyclient.jar:$DERBY_INSTALL/lib/derbytools.jar:$CLASSPATH
启动网络服务器:
/home/<user_directory>/apache-derby/db-derby-10.11.1.1-bin/bin/startNetworkServer
运行derby命令行如下:
java org.apache.derby.tools.ij
connect 'jdbc:derby://localhost:1527//home/<user_directory>/<database-directory>/<database-name>';
show tables;
disconnect;
exit;
【讨论】:
【参考方案2】:查看 apache derby 文档here.....
配置环境以使用 Derby Network Client JDBC 驱动程序
要使用 Derby Network Client JDBC
驱动程序,请将您的 CLASSPATH
设置为包含下面列出的 jar 文件:
您可以使用如下所示的命令显式设置您的CLASSPATH
:
窗户:
C:\> set CLASSPATH=%DERBY_INSTALL%\lib\derbyclient.jar;%DERBY_INSTALL%\lib\derbytools.jar;.
UNIX:
$ export CLASSPATH=$DERBY_INSTALL/lib/derbyclient.jar:$DERBY_INSTALL/lib/derbytools.jar:.
然后在提示符下输入 ij 命令后尝试创建这样的数据库.....ij> connect
jdbc:derby://localhost:1527/Chapter01DB;create=true;
【讨论】:
【参考方案3】:Derby Server 是否正在运行?
很有可能您正在尝试连接到数据库,而实际服务器没有在端口 1527 上运行。
您可以尝试使用命令行/linux shell 建立连接 - 取决于您使用的操作系统。
如果你愿意,试试这个:
-
打开命令提示符
导航到您的 Derby 安装目录
导航到“bin”目录(注意:如果存在,请进一步导航到networkServer文件夹)
输入“startNetworkServer”并回车
您应该收到这样的消息:
2012-08-29 10:57:16.559 GMT:使用基本服务器安全策略安装的安全管理器。 2012-08-29 10:57:16.809 GMT:Apache Derby 网络服务器 - 10.6.2.1 - (999685) 已启动并准备好接受端口 1527 上的连接
如果你不这样做,那么也许你可以检查你的防火墙(这里邀请 cmets :)
如果你这样做了,那么你可以使用以下方法测试你的连接:
-
打开另一个命令提示符
导航到您的 Derby 安装目录
导航到“bin”目录
输入“ij”并回车
键入以下内容:
connect 'jdbc:derby://localhost:1527/MyDB';
...然后按 Enter 键
如果一切顺利,你会得到“ij>”提示。
您可以从这里输入一些 SQL 查询来进一步测试连接。
如果不是,那么可能还有其他问题。
如果您是第一次在 derby 中创建数据库,那么您必须使用它来代替上面的第 5 步:
connect 'jdbc:derby://localhost:1527/MyDB;create=true';
...然后按 Enter 键
希望在做完这些事情之后,你会得到一个连接。在最后一个实例中,您至少将获得一个名为 MyDB 的新数据库,该数据库在 Derby Server 上处于活动状态。如果您的原始数据库 (MyDB) 相对较小,那么为您需要的任何目的再次重建它可能会更快。
此外,如果您确实建立了连接,那么您可以尝试用于数据库开发的其他工具,因为您至少消除了连接问题的可能性。
请务必检查第 4 步报告的端口号。这通常是 1527。如果没有,请更改第 5 步中的端口号(或新数据库的替换命令),无论是在来自德比的消息。
希望这会有所帮助,祝你好运:)
韦恩·里斯特勒
【讨论】:
是的,";create=true" 是我的赢家!【参考方案4】:您是否定义了身份验证别名?似乎与下面链接中的问题相同;
http://www.webspheretools.com/sites/webspheretools.nsf/docs/Error%20when%20testing%20a%20JDBC%20connection%20to%20Derby
此外,如果您检查 SystemOut.log,您可能会看到一条错误消息,说明未设置哪个属性;
"08001","未设置必需的 Derby 数据源属性 0。","40000",
【讨论】:
以上是关于数据源 derby - 连接被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
无法在 MyEclipse 中使用 struts 连接 Derby 数据库