java - 安装 Java EE 6 教程示例 : JavaDB error (java. sql.SqlNonTransientConnectionException:recv 失败)

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

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

奇怪的是,虽然连接 JavaDB 似乎不起作用,但使用“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)时,我使用了命令行窗口,该窗口似乎没有使用默认的 Windows 网络配置。所以我没有错误。但是,当我尝试从 Netbeans 进行连接时,显示了错误。

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

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

关于java - 安装 Java EE 6 教程示例 : JavaDB error (java. sql.SqlNonTransientConnectionException:recv 失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34989078/

相关文章:

java - 比较并将 2 个 myClass 类型的数组合并到一个相同类型的数组中

java - 尝试使用 ImageLoader 加载本地镜像时出现 NullPointerException

java - 循环数组只有两个对象分配给Map?

mysql - 注入(inject)的服务不断抛出 NullPointerException

java - 将 session bean 注入(inject)实体

jdbc - 如何移动 java DB Apache Derby 中的列?

java - 解析大型文本文件并将数据移动到数据库中

Java数据库: bind multiple instances of a class to one instance of another class

java - Spring Oauth2修改无效 token 异常的响应

java - java中的空 float 组