数据源德比 - 连接被拒绝

时间:2012-05-02 20:09:44

标签: database websphere datasource derby

我正在尝试将数据库与java项目连接起来。在阅读了一些教程和课程支持后,我了解到我需要在管理控制台下创建一个新的数据源。

所以,我已登录管理控制台,然后导航到资源 - > 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 但它仍然不起作用。

4 个答案:

答案 0 :(得分:30)

您是否正在运行Derby Server?

您很可能在没有实际服务器在端口1527上运行的情况下尝试连接数据库。

您可以尝试使用命令行/ linux shell建立连接 - 具体取决于您使用的操作系统。

如果你愿意,试试这个:

  1. 打开命令提示符
  2. 导航到您的Derby安装目录
  3. 导航到“bin”目录(注意:进一步导航到networkServer文件夹,如果存在)
  4. 键入“startNetworkServer”并按Enter键
  5. 您应该收到一条消息,上面写着:

    2012-08-29 10:57:16.559 GMT:使用基本服务器安全策略安装安全管理器。 2012-08-29 10:57:16.809 GMT:Apache Derby Network Server - 10.6.2.1 - (999685)已启动并准备接受端口1527上的连接

    如果你不这样做,那么也许你可以查看你的防火墙(这里邀请评论:)

    如果这样做,那么您可以使用以下方法测试您的连接:

    1. 打开另一个命令提示符
    2. 导航到您的Derby安装目录
    3. 导航到“bin”目录
    4. 输入“ij”并按Enter键
    5. 输入以下内容:

       connect 'jdbc:derby://localhost:1527/MyDB';
      

      ...然后按Enter键

    6. 如果一切顺利,你会得到“ij>”提示回来。

      从这里你可以输入一些SQL查询来进一步测试连接。

      如果没有,那么可能还有其他一些问题。

      如果您是第一次在德比中创建数据库,则必须使用它来代替上面的步骤5:

           connect 'jdbc:derby://localhost:1527/MyDB;create=true';
      

      ...然后按Enter键

      希望在做完这些事情之后,你会得到一个联系。在最后一个实例中,您至少会获得一个名为MyDB的新数据库,该数据库在Derby Server上处于活动状态。如果你的原始数据库(MyDB)相对较小,那么为了你需要它的任何目的再次重建它可能会更快。

      除此之外,如果您确实建立了连接,那么您可以尝试使用其他用于数据库开发的工具,因为您至少可以消除连接出现问题的可能性。

      请务必检查从步骤4报告的端口号。通常是1527.如果没有,则更改步骤5中的端口号(或新数据库的替换命令),以便在来自德比的消息。

      希望这会有所帮助并祝你好运:)

      Wayne Riesterer

答案 1 :(得分:1)

您是否定义了身份验证别名?似乎与下面链接中的问题相同;

http://www.webspheretools.com/sites/webspheretools.nsf/docs/Error%20when%20testing%20a%20JDBC%20connection%20to%20Derby

此外,如果您检查SystemOut.log,您可能会看到一条错误消息,告知未设置哪个属性;

{“08001”,“未设置必需的Derby DataSource属性{0}。”,“40000”},

答案 2 :(得分:1)

查看apache derby文档here .....

配置环境以使用Derby Network Client JDBC驱动程序

要使用Derby Network Client JDBC驱动程序,请将CLASSPATH设置为包含下面列出的jar文件:

  • derbyclient.jar:包含JDBC驱动程序
  • derbytools.jar:optional,提供ij工具

您可以使用以下命令显式设置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>连接

jdbc:derby://localhost:1527/Chapter01DB;create=true;

答案 3 :(得分:1)

  1. 将德比下载到以下位置:

    /home/ <user_directory> /apache-derby/
    
  2. 设置类路径/路径如下:

    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
    
  3. 启动网络服务器:

    /home/<user_directory>/apache-derby/db-derby-10.11.1.1-bin/bin/startNetworkServer
    
  4. 运行derby命令行,如下所示:

    java org.apache.derby.tools.ij
    
    connect 'jdbc:derby://localhost:1527//home/<user_directory>/<database-directory>/<database-name>';
    
    show tables;
    
    disconnect;
    
    exit;