JDBC: Oracle Application Server и ошибка "Сетевой адаптер не смог установить соединение"

Я получаю сообщение об ошибке: "Сетевой адаптер не может установить соединение" из веб-приложения, развернутого в Oracle Application Server 10g. База данных является локальной, поэтому проблем с подключением не должно быть.

Первый тест: я могу без проблем подключиться к БД из SQL plus, выполнить запросы и т. Д. Второй тест: я могу без проблем подключиться к базе данных из локально установленного JDeveloper на сервере, а также выполнить запросы и т.д. без проблем. Это работает с короткой строкой JDBC и длинной (показано ниже).

JDBC: оракул: тонкий:@(ОПИСАНИЕ =(ADDRESS_LIST=(АДРЕС = (ПРОТОКОЛ =TCP)(HOST= локальный)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME= ABCD)(SERVER= ПОСВЯЩЕННАЯ)))

Тем не менее, когда я запускаю веб-приложение, оно выдает вышеуказанную ошибку. Это кажется мне слишком общим, чтобы что-то делать.

Любые предложения о том, как решить эту проблему? Я предполагаю, что Oracle регистрирует неудачные попытки подключения где-то, но я не смог найти ничего релевантного в файле баз данных alert.log.

Возможно, проблема в том, что приложение использует старый jsdk, но я предполагаю, что вместо сообщения "сетевое соединение" будет выдана ошибка несоответствия версий.

Изменить: я не знаю, является ли это проблемой OAS или проблема с конкретным веб-приложением, я хотел бы сначала выяснить это, как кажется, это должно быть легко. В WebSphere есть кнопка "Проверить соединение" для добавления источников данных Dest, которые вы добавили, но, похоже, в OAS10 такой функциональности нет? Почему-то я думаю, что должно быть, и я просто скучаю по нему, потому что я не эксперт ОАГ.

Редактировать 2: Я установил JDevelop на удаленной машине и без проблем подключился к базе данных, поэтому я точно знаю, что это не проблема с подключением к базе данных - похоже, проблема в OAS?

4 ответа

Я столкнулся с аналогичной проблемой (возможность подключения через клиент, но не через веб-приложение) с Oracle XE при работе с конфигурацией по умолчанию. Увеличение количества сеансов и процессов решило мою проблему. Проверьте это http://www.markcallen.com/oracle/oracle-xe-tuning.

Я предполагаю, что Oracle регистрирует неудачные попытки подключения где-то

Он будет отображаться в listener.log, но с полученной ошибкой кажется сомнительным, что JDBC может даже связаться со слушателем.

JDBC: оракул: тонкий:@(ОПИСАНИЕ =(ADDRESS_LIST=(АДРЕС = (ПРОТОКОЛ = TCP)(HOST= локальный)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME= ABCD)(SERVER= ПОСВЯЩЕННАЯ)))

Это та же строка, которую вы используете для веб-приложения?

У меня были проблемы с localhost и 127.0.0.1, которые исчезают при использовании более определенного имени хоста или адреса [IE имя, которое другие машины будут знать как хост.]. Я думаю, что это было связано с тем, как имя было разрешено (например, локально или отключено на сервер имен или аналогичный).

Не Java-человек, но есть ли способ просто пропинговать localhost/127.0.0.1 из Java и посмотреть, есть ли ответ.

Один из способов решения этой проблемы заключается в обновлении файла Hosts на сервере WAS с помощью записей для серверов БД, как показано ниже: 111.222.333.444 serverab.abc.com serverab

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