11

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

所以,我已经登录到管理控制台,然后导航到资源 -> JDBC -> 数据源 -> 新建;填写字段,当我测试连接时,我得到的错误是这个:

消息 节点 RO2CVG6CNode01 的服务器 server1 上的数据源 MyDB 的测试连接操作失败,但出现以下异常:java.sql.SQLNonTransientException:java.net.ConnectException:连接到端口 1527 上的服务器 localhost 时出错,并显示消息连接被拒绝:connect.DSRA0010E: SQL 状态 = 08001,错误代码 = 40,000。查看 JVM 日志以获取更多详细信息。

我不知道问题出在哪里。也许使用数据库名称: jdbc:derby:D:\MyDB ?任何人都可以帮助我吗?在本教程之后,我还尝试仅使用 MyDB 。
但它仍然不起作用。

4

4 回答 4

34

是否运行了 Derby 服务器?

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

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

如果你喜欢,试试这个:

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

您应该收到一条消息,内容如下:

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

如果您不这样做,那么也许您可以检查您的防火墙(请在此处发表评论:)

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

  1. 打开另一个命令提示符
  2. 导航到您的 Derby 安装目录
  3. 导航到“bin”目录
  4. 键入“ij”并按 Enter
  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。如果不是,则在来自德比。

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

韦恩·里斯特

于 2012-08-29T11:26:07.107 回答
1

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

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

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

{"08001","未设置必需的 Derby 数据源属性 {0}。","40000"},

于 2012-05-06T18:53:21.607 回答
1

在这里查看 apache derby 文档.....

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

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

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

您可以CLASSPATH使用如下所示的命令显式设置您的:Windows:

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;
于 2015-02-01T19:05:47.110 回答
1
  1. 将 derby 下载到以下位置:

    /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;
    
于 2016-01-05T20:00:24.977 回答