【问题标题】:Installing Java EE 6 Tutorial examples: JavaDB error (java.sql.SqlNonTransientConnectionException: recv failed)安装 Java EE 6 教程示例:JavaDB 错误 (java.sql.SqlNonTransientConnectionException: recv failed)
【发布时间】:2016-05-01 13:18:26
【问题描述】:

我正在尝试安装和运行 Java EE 6 教程示例。在这种特殊情况下,杜克的森林案例研究示例。 第一个安装步骤“创建 JDBC 领域并填充数据库”没有问题,显然 JavaDB 已创建并填充。 但在第二步中,我在尝试连接到 JavaDB 时遇到以下错误:“创建数据库时发生错误:java.sql.SqlNonTransientConnectionException:检测到通信错误:软件导致连接中止:recv failed..”

奇怪的是,虽然连接 JavaDB 似乎无法正常工作,但使用“ant”和教程脚本创建数据库似乎可以工作。此外,启动 JavaDB 服务器似乎也能正常工作,显示一条消息,说明它已准备好并正在侦听端口 1527。

Getting a java.sql.SqlNonTransientConnectionException 中提出了类似的问题。

我正在运行 Windows XP、NetBeans 8.1、JDK 1.7.0_60。

【问题讨论】:

  • 你在什么时候得到这个异常?您是否在 Netbeans 中安装了不同的 Glassfish 版本?
  • 教程中的第5点(第二步),打开项目后,尝试关联数据源。我只安装了一台 Glassfish 服务器。
  • 请检查以下内容。 1)Services 下,Glassfish 服务器的名称是什么。 2) 在您启动 Glassfish 服务器之后。 Resources -> JDBC Resources 下是否有名为 jdbc/forest 的资源?
  • 名称是“GlassFish 服务器”。我没有名为jdbc/forest 的资源,因为当我尝试将此数据源添加到项目时,会显示错误。

标签: java java-ee-6 javadb netbeans-8.1


【解决方案1】:

最后,我找到了问题所在。这有点棘手,尽管现在看起来很明显。我使用两种不同的网络配置进行浏览,一种使用 Socks v5 代理(在 Chrome 中),另一种没有代理(在 Firefox 中)。 Chrome 中的那个是 Windows XP 默认的,现在我知道 Netbeans 使用它。

当我执行“ant”脚本(教程中的第 1 步)时,我使用了一个命令行窗口,它似乎没有使用默认的 Windows 网络配置。所以我没有错误。但是,当我尝试从 Netbeans 连接时,出现了错误。

现在,我已经消除了默认网络配置中的代理,我重新启动了 Netbeans,它就可以工作了!

注意:之后,我在 NetBeans 选项对话框中找到了“代理设置”。默认情况下,NetBeans 设置“使用系统代理设置”。所以,我以为改成“无代理”,一切都会好起来的,但没有。 JavaDB 连接有效,但是当我尝试启动 Glassfish 时,发现它使用代理配置进行网络连接。 我还在 NetBeans Glassfish 服务器配置对话框(Java 选项卡)中找到了一个名为“使用 IDE 的代理设置”的检查,似乎与此问题有关,但经过多次测试,我发现它不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    相关资源
    最近更新 更多