安装 Java EE 6 教程示例:JavaDB 错误(java.sql.SqlNonTransientConnectionException:接收失败)

Installing Java EE 6 Tutorial examples: JavaDB error (java.sql.SqlNonTransientConnectionException: recv failed)

我正在尝试安装 运行 Java EE 6 教程示例。在这种特殊情况下,杜克的森林案例研究示例。 第一个安装步骤 "To Create the JDBC Realm and Populate the Database" 没有问题,显然 JavaDB 已创建并填充。 但是在第二步中,我在尝试连接到 JavaDB 时遇到以下错误:"An error occurred while creating the database: java.sql.SqlNonTransientConnectionException: A communications error has been detected: Software caused connection abort: recv failed.."

奇怪的是,虽然连接 Java 数据库似乎不起作用,但使用 "ant" 和教程脚本创建数据库似乎有效。此外,启动 JavaDB 服务器似乎也能正常工作,显示一条消息表明它已准备就绪并正在侦听端口 1527。

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

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

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

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

现在,我删除了默认网络配置中的代理,我重新启动了 Netbeans,它开始工作了!

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