Установка примеров учебных руководств по Java EE 6: ошибка JavaDB (исключение java.sql.SqlNonTransientConnectionException: ошибка recv)

Я пытаюсь установить и запустить примеры учебника по Java EE 6. В данном конкретном случае, пример исследования леса Дюка. Нет проблем с первым шагом установки "Создание области JDBC и заполнение базы данных", очевидно, JavaDB создан и заполнен. Но на втором шаге я получаю следующую ошибку при попытке подключения к JavaDB: "Произошла ошибка при создании базы данных: java.sql.SqlNonTransientConnectionException: Обнаружена ошибка связи: программное обеспечение вызвало прерывание соединения: сбой recv.."

Странно то, что хотя подключение JavaDB, похоже, не работает, создание базы данных с использованием "ant" с учебными сценариями, похоже, работает. И, кроме того, запуск сервера JavaDB, кажется, также работает, показывая сообщение о том, что он готов и прослушивает порт 1527.

Аналогичная проблема, заданная в разделе Получение java.sql.SqlNonTransientConnectionException.

Я использую Windows XP, NetBeans 8.1, JDK 1.7.0_60.

1 ответ

Решение

Наконец-то я нашел проблему. Это немного сложно, хотя сейчас это кажется очевидным. Для просмотра веб-страниц я использую две разные конфигурации: одну с прокси-сервером Socks v5 (в Chrome) и одну без прокси (в Firefox). В Chrome используется Windows XP по умолчанию, и теперь я знаю, что Netbeans использует это.

Когда я выполнил сценарий 'ant' (шаг 1 в руководстве), я использовал окно командной строки, которое, похоже, не использует конфигурацию сети Windows по умолчанию. Так что я не получил ошибок. Но когда я попытался подключиться из NetBeans, была показана ошибка.

Теперь я удалил прокси в конфигурации сети по умолчанию, перезапустил Netbeans, и он работает!

ПРИМЕЧАНИЕ. После этого я обнаружил "Настройки прокси" в диалоговом окне "Параметры NetBeans". По умолчанию NetBeans устанавливает "Использовать настройки прокси-сервера системы". Итак, я подумал, что если поменять "Нет прокси", все будет хорошо, но нет. Соединение JavaDB работало, но когда я попытался запустить Glassfish, обнаружил, что он использует конфигурацию прокси для сетевого соединения. Я также нашел проверку в диалоговом окне настройки сервера NetBeans Glassfish (вкладка Java) под названием "Использовать настройки прокси-сервера IDE", которая, по-видимому, была связана с этим вопросом, но после нескольких испытаний я обнаружил, что это не работает.

Другие вопросы по тегам