我正在尝试安装和运行Java EE 6 Tutorial示例。在这个特殊情况下,杜克的森林案例研究案例。 首次安装步骤“创建JDBC领域并填充数据库”没问题,显然创建并填充了JavaDB。 但在第二步中我尝试连接到JavaDB时出现以下错误:“创建数据库时出错:java.sql.SqlNonTransientConnectionException:检测到通信错误:软件导致连接中止:recv失败..”< / p>
奇怪的是,虽然连接JavaDB似乎不起作用,但使用“ant”和教程脚本的数据库创建似乎有效。此外,启动JavaDB服务器似乎也可以正常工作,显示一条消息,说明它已准备好并正在侦听端口1527.
Getting a java.sql.SqlNonTransientConnectionException中提出的类似问题。
我正在运行Windows XP,NetBeans 8.1,JDK 1.7.0_60。
答案 0 :(得分:0)
最后,我发现了问题。虽然现在看起来很明显,但这有点棘手。我使用两种不同的网络配置进行浏览,一种使用Socks v5代理(在Chrome中),另一种使用不使用代理(在Firefox中)。 Chrome中的那个是Windows XP的默认值,现在我知道Netbeans使用它了。
当我执行&#39; ant&#39;脚本(教程中的第1步),我使用命令行窗口,它似乎不使用默认的Windows网络配置。所以我没有错。但是,当我尝试从Netbeans连接时,显示错误。
现在,我已经在默认网络配置中删除了代理,我重新启动了Netbeans并且它可以正常工作!
注意:之后,我在NetBeans选项对话框中找到了“代理设置”。默认情况下,NetBeans设置“使用系统代理设置”。所以,我认为改为“无代理”,一切都会顺利,但不是。 JavaDB连接有效,但是当我尝试启动Glassfish时,发现它使用代理配置进行网络连接。 我还在NetBeans Glassfish服务器配置对话框(Java选项卡)中找到了一个名为“使用IDE的代理设置”的检查,该对话框似乎与此问题有关,但经过多次测试后,我发现它无效。