我正在尝试安装和运行Java 6教程示例。在这个特殊的案例中,杜克的森林案例研究实例。第一个安装步骤“创建JDBC领域并填充数据库”没有问题,显然JavaDB是创建和填充的。但在第二步中,我在试图连接到JavaDB时得到了以下错误:“创建数据库时发生了一个错误: java.sql.SqlNonTransientConnectionException:检测到了通信错误:软件导致连接中止: recv失败。”
奇怪的是,虽然连接JavaDB似乎不起作用,但使用"ant“与教程脚本进行的数据库创建似乎有效。此外,启动JavaDB服务器似乎也有效,显示了一条消息,说明它已经就绪,并监听端口1527。
在Getting a java.sql.SqlNonTransientConnectionException中也有类似的问题。
我正在运行Windows、NetBeans 8.1、JDK 1.7.0_60。
发布于 2016-01-26 09:32:07
最后,我发现了这个问题。这有点棘手,尽管现在看来是显而易见的。我使用两种不同的网络配置进行浏览,一种使用Socks v5代理(在Chrome中),另一种没有代理(在火狐中)。Chrome中的默认版本是Windows,现在我知道Netbeans使用了它。
当我执行'ant‘脚本(教程中的步骤1)时,我使用了一个命令行窗口,它似乎没有使用默认的Windows网络配置。所以我没有任何错误。但是,当我试图从Netbeans连接时,出现了错误。
现在,我已经消除了默认网络配置中的代理,我重新启动了Netbeans,它可以工作了!
注意事项:在此之后,我在NetBeans选项对话框中找到了“代理设置”。默认情况下,NetBeans设置为“使用系统代理设置”。所以,我认为如果换成“没有代理”,一切都会顺利,但不会。JavaDB连接工作正常,但当我尝试启动Glassfish时,发现它使用代理配置进行网络连接。我还在NetBeans Glassfish服务器配置对话框(Java )中找到了一个名为“使用IDE的代理设置”的检查,它似乎与这个问题有关,但是经过几次测试后,我发现这是无效的。
https://stackoverflow.com/questions/34989078
复制相似问题