【问题标题】:data sources derby - connection refused数据源 derby - 连接被拒绝
【发布时间】: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。
但是还是不行。

【问题讨论】:

标签: database websphere datasource derby


【解决方案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;
    

【讨论】:

    【解决方案2】:

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

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

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

    • derbyclient.jar:包含 JDBC 驱动程序
    • derbytools.jar:可选,提供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> connect

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

    【讨论】:

      【解决方案3】:

      Derby Server 是否正在运行?

      很有可能您正在尝试连接到数据库,而实际服务器没有在端口 1527 上运行。

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

      如果你愿意,试试这个:

      1. 打开命令提示符
      2. 导航到您的 Derby 安装目录
      3. 导航到“bin”目录(注意:如果存在,请进一步导航到networkServer文件夹)
      4. 输入“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 :)

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

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

         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"},

      【讨论】:

        猜你喜欢
        • 2015-04-13
        • 1970-01-01
        • 2017-08-08
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 2017-11-03
        • 1970-01-01
        相关资源
        最近更新 更多