Ошибка ввода-вывода: сетевой адаптер не смог установить соединение
Я новичок в Oracle и пытаюсь запустить простой пример кода с Java, но получаю эту ошибку при выполнении кода. Я могу запустить слушателя через CMD, а также могу запустить SQL Plus, Может ли кто-нибудь дать мне руку и сказать, что я могу делать неправильно?
Обновление:
Я использую JDBC.
База данных локальная, и я действительно работал, но она перестала работать только сегодня. Я не совсем уверен, почему. Не могли бы вы дать мне некоторые процедуры, чтобы следовать, поскольку я не знаю много.
Ответы
Ответ 1
Или:
- База данных не запущена
- У вас неправильный URL
- В пути есть брандмауэр.
(Это странное сообщение об ошибке создается драйвером Oracle JDBC, когда он не может подключиться к серверу базы данных. "Сетевой адаптер", как представляется, относится к некоторому компоненту их кода, что не очень полезно. Реальные сетевые адаптеры ( NIC) вообще не устанавливают соединения: стеки протоколов TCP делают это. Было бы намного полезнее, если бы они просто выбросили исходный ConnectException
или, по крайней мере, использовали его сообщение об ошибке, и пусть оно появится в трассировка стека.)
Ответ 2
У меня была та же проблема, и именно так я ее исправил.
Я использовал неправильный порт для моего подключения.
private final String DB_URL = "jdbc:oracle:thin:@localhost:1521:orcll"; // 1521 my wrong port
- перейти к локальному хосту
-
(мой адрес localhost): https://localhost:1158/em
-
Войти
- имя пользователя
- пароль
- connect as → normal
-
Ниже "Общие" нажмите LISTENER_localhost
- Посмотрите на номер порта
- Net Address (ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1522))
Подключиться к порту 1522
-
Отредактируйте соединение
изменить порт с 1521 по 1522.
Ответ 3
Еще одна вещь, которую вы, возможно, захотите проверить, что файл listener.ora совпадает с тем, как вы пытаетесь подключиться к БД. Если вы подключались через ссылку localhost, и ваш файл listener.ora изменился с:
HOST = localhost
к
HOST = 192.168.XX.XX
то это может привести к ошибке, которая была у вас, если вы не обновите свой файл хостов для размещения для этого. Возможно, кто-то сделал это изменение, чтобы разрешить удаленные подключения к БД с других машин.
Ответ 4
Я понял, что в моем случае моя база данных находилась в другой подсети, чем в подсети, откуда я пытался получить доступ к db.
Ответ 5
Чтобы устранить ошибку сетевого адаптера, мне пришлось удалить -
имя имени компьютера.
Ответ 6
В моем случае мне нужно было указать viahost
и viauser
. Стоит попробовать, если вы в сложной системе.:)
Ответ 7
Для меня основной оракул только не был установлен. Убедитесь, что у вас установлен оракул, а затем попробуйте проверить хост и порт.
Ответ 8
Скорее всего, у вас неправильно настроен приемник, имя хоста, которое вы указываете в строке подключения, должно быть таким же, как в приемнике.
Сначала проверьте брандмауэр и проблемы, связанные с сетью.
Проверьте, доступна ли служба прослушивателя Oracle и работает ли она. Если нет, вы можете использовать инструмент Oracle Net Configuration Assistant для добавления и регистрации нового прослушивателя.
Если все вышеперечисленное выполнено правильно, вам необходимо соответствующим образом настроить прослушиватель Oracle. Вы можете использовать инструмент Oracle Net Manager или отредактировать файл "% ORACLE_HOME%\network\admin\listener.ora" вручную.
Существует 2 варианта, которые необходимо тщательно рассмотреть: места прослушивания, связанные с прослушивателем - имя хоста (IP) и порт в расположении прослушивания, должны точно соответствовать тем, которые используются в строке подключения.
Например, если вы используете 192.168.74.139 в качестве целевого имени хоста, то там должно быть место прослушивания, зарегистрированное с тем же IP-адресом.
Также убедитесь, что вы используете тот же SID, который указан в службе баз данных, связанной с прослушивателем.
https://adhoctuts.com/fix-oracle-io-error-the-network-adapter-could-not-establish-the-connection-error/
Ответ 9
У меня была эта ошибка, когда я переименовал компьютер в свойствах Windows. Имя ПК должно быть обновлено в listener.ora
-file
Ответ 10
У меня тоже были проблемы с этим. Я использовал строку подключения JDBC для подключения к базе данных. Имя хоста было неправильно настроено в строке. Я использую Mac, и та же самая строка использовалась на машинах Windows без проблем. В моей строке подключения я должен был убедиться, что у меня есть полный URL с добавлением "organizationname.com" в конце имени хоста.
Надеюсь это поможет.