Ошибка ввода/вывода Oracle 17002

Обновлено: 04.07.2024

Oracle SQL — это интегрированная среда разработки, созданная для работы с базами данных Oracle с SQL. Этот продукт разработан и предоставляется корпорацией Oracle бесплатно и основан на Java Development Kit. Совсем недавно появилось много сообщений об ошибке «Ошибка ввода-вывода: сетевому адаптеру не удалось установить соединение» при проверке соединения с базой данных.

Что вызывает ошибку «Сетевой адаптер не может установить соединение»?

После получения многочисленных отчетов от нескольких пользователей мы решили изучить проблему и разработали набор решений для ее полного устранения. Кроме того, мы рассмотрели причины, из-за которых возникает эта ошибка, и перечислили их следующим образом.

  • Неверные данные. Убедитесь, что данные подключения введены правильно. Чтобы установить соединение, необходимо правильно ввести имя хоста, порт, имя пользователя и пароль. Если какое-либо из этих значений введено неправильно, может возникнуть ошибка.
  • Отключенная служба. Для правильной работы приложения очень важно, чтобы служба прослушивателя была запущена в фоновом режиме. Если она не запущена или отключена, может возникнуть эта ошибка.

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

Решение 1. Проверка сведений

Важно, чтобы для подключения были введены правильные данные. Иногда введенные данные не соответствуют конфигурациям сервера, и возникает ошибка. Поэтому на этом этапе мы снова проверим и введем данные. Для этого:

  1. Загрузите и установите Notepad++ отсюда.
  2. Перейдите по следующему адресу. Переход по адресу
  3. Щелкните правой кнопкой мыши файл «tnsnames.ora» и выберите «Открыть с помощью Notepad ++». Щелкните файл правой кнопкой мыши и выберите «Открыть с помощью Notepad++».
  4. Под заголовком «ORCL=» обратите внимание на данные «Порт» и «Хост».
  5. Также обратите внимание на «ServiceName». Записывая детали
  6. Введите эти данные при установке сетевого подключения и нажмите «Проверить».
  7. Проверьте, решена ли проблема.
  8. Решение 2. Запуск службы прослушивателя

    Возможно, служба прослушивателя не запущена. Эта служба требуется приложению для установления соединения. Поэтому на этом этапе мы запустим службу, введя команду в командной строке. Для этого:

    1. Нажмите «Windows» + «R», чтобы открыть окно «Выполнить».
    2. Введите «Cmd» и нажмите «Shift» + «Ctrl» + «Enter», чтобы предоставить права администратора. Введите cmd в командной строке и нажмите «Shift» + «Ctrl» + «Enter»
    3. Введите следующую команду, чтобы проверить, запущена ли служба.
    4. Если результат похож на изображение ниже, это означает, что служба не запущена. Это сообщение отображается, если служба не запущена.
    5. Введите следующую команду, чтобы запустить службу вручную. Ввод команды для запуска службы
    6. Теперь, когда служба прослушивателя запущена, откройте приложение и проверьте, можно ли установить новое соединение.
    7. Я устанавливаю соединение для подключения к серверу базы данных (другая машина). Затем я обнаружил «Произошла ошибка при выполнении запрошенной операции: ошибка ввода-вывода: сетевому адаптеру не удалось установить соединение с кодом поставщика 17002».

      Пожалуйста, посмотрите на изображение в URL ниже.

      сообщение об ошибке

      Я пытался установить соединение, но не могу получить к нему доступ, но моя команда может получить к нему доступ. Мой друг использовал тип подключения TNS, и я делал все то же самое, но не могу получить доступ. Я пытался использовать тонкий JDBC для подключения, но тоже не могу.

      У меня было старое соединение, которое я могу подключить, но почему я не могу подключить новое соединение.



      Что ж, поскольку в сообщении говорится о сетевом адаптере, я думаю, вам следует проверить подключение компьютера к локальной сети.

      2 ответа 2

      Вы пытаетесь подключиться к машине в сети, к которой SQL Developer не может подключиться.

      Для подключения TNS просмотрите соответствующую запись TNSNames (у вас будет файл tnsnames.ora) и найдите IP-адрес или сетевое имя, связанное с подключением, которое вы пытаетесь установить -

      введите здесь описание изображения

      Затем начните с попытки пропинговать этот ресурс.

      В этом случае я пытаюсь связаться с базой данных на МОЕЙ машине через порт 1521. Ваша должна выглядеть совсем иначе.

      Если вы используете базовое подключение, вы можете просмотреть свойства подключения и узнать, с каким компьютером/портом вы пытаетесь связаться.

      введите здесь описание изображения

      Если вы не можете подключиться к этому компьютеру со своего компьютера, вероятность того, что вы сможете подключиться к базе данных на нем, нулевая.

      Итак, всегда начинайте с проверки связи.

      Как только вы увидите, что можете получить доступ к этой машине, если вы все еще получаете это сообщение, следующее, о чем следует подумать, это заблокированные порты, прослушиватель по умолчанию использует порт 1521, но вы увидите это в дескрипторе TNS. также.

      Если вы ищете ошибку Oracle «Исключение Io: сетевому адаптеру не удалось установить соединение» (ORA-17002), вы найдете множество обсуждений в Интернете. Обычно все сводится к тому, что говорится в сообщении, что это проблема сети. Но ошибка также может быть вызвана, например. несовместимые jar-файлы. Однако в моем случае я пытался получить доступ к экземпляру 11g R2 из SQL Developer, и во время первоначальной настройки все работало. И локальный доступ, также с SQL Developer, работал абсолютно нормально.

      Решение. Замените «простое» имя хоста БД на полное. Я не уверен, почему это изменило поведение. Я могу думать либо о проблеме с настройкой DNS (хотя мой список поиска включал домен), либо о какой-то применяемой логике обратного поиска. В любом случае, я хотел поделиться этим открытием, а также записать его для собственного использования в будущем.

      30 мыслей о «Ошибка Oracle 17002 «Исключение ввода-вывода: сетевому адаптеру не удалось установить соединение»»

      Спасибо за совет, мне тоже помогло!!
      Даже если я изменил localhost на имя своей машины, это сработало и все еще работало, когда я вернулся к localhost. Должно быть какое-то странное поведение сети внизу.

      Большое спасибо!
      Я пробовал много сложных решений, и это было победителем, теперь я могу продолжить свою работу, еще раз спасибо

      большое спасибо…!

      другое решение:
      вы должны убедиться, что у вас есть правильный DNS на вашем IP-адресе, это происходит, если у вас есть 2 сети

      Мне это не помогло.

      Большое спасибо, это помогло мне решить мою проблему

      Большое спасибо за помощь.

      Мне тоже помогло! мерси !!

      Отличный совет! у меня тоже сработало… это была проблема с DNS

      Эй, в чем разница между «простым именем хоста БД» и «полным именем хоста БД»? какой-нибудь пример, пожалуйста, потому что я не уверен, правильно ли я понял? 🙂

      Где найти полное имя? Я попытался выбрать * из global_name, но получил то же имя, что и простое имя….

      Полное имя хоста является частью настройки сети компьютера и лишь косвенно частью Oracle

      Это сработало как шарм. Спасибо

      Отличный совет. Мне помогло..

      Все перепробовал, не работает. Наконец, я попытался использовать тип подключения как local/Bequeath. Тогда это сработало для меня.

      Другое решение: в источнике данных приложения измените строку подключения с
      «jdbc:oracle:thin:@host:port:sid» (короткая строка подключения)

      “jdbc:oracle:thin:@(ОПИСАНИЕ= (АДРЕС = (ПРОТОКОЛ = TCP)
      (ХОСТ = хост)
      (ПОРТ = порт)
      )
      ( CONNECT_DATA=
      (SERVICE_NAME=sid)
      (SERVER=DEDICATED)
      )
      )” (полная строка сервера)

      Супер… Использовал полное имя хоста, и это сработало. Спасибо.

      Спасибо, сработало для меня 🙂

      Здравствуйте,
      Я испробовал все эти методы, но все равно столкнулся с той же проблемой.
      1- У меня есть источник данных на моей локальной веб-сфере 6.1, и когда я делаю тестовое соединение с сервера веб-консоли, оно прошло успешно, но когда я попытался сделать то же самое, это выдало мне ошибку
      ” java.sql. SQLException: Исключение ввода-вывода: сетевому адаптеру не удалось установить соединение DSRA0010E: состояние SQL = null, код ошибки = 17 002″

      Примечание: я подключаюсь к удаленной базе данных Oracle.
      на моей машине установлены только рейд и веб-сфера.

      Пожалуйста, помогите мне.

      Заранее спасибо

      Это может быть вызвано неправильными учетными данными имени службы. Я изменил свои системные учетные данные, которые я использовал для службы, в тот момент, когда я обновил, что это сработало для меня. Спасибо.

      @Лукас Сильва: отлично, ты мой герой!

      Я получил эту ошибку, но имя хоста является полным
      Я изменил на localhost, и все заработало нормально

      Большое спасибо, сэр

      Мне помогло. Спасибо

      Лучшее решение. Спасибо

      Я попробовал это решение, но оно мне не помогло.
      но… после многих тестов я обнаружил, что веб-защита антивируса препятствует подключению через сокеты.
      после отключения службы веб-защиты подключение к БД стало успешным

      ПРОШЛО 9 ЛЕТ, А ЭТО ПО-прежнему ПОМОГАЕТ! ВОПРОС РЕШЕН! «ОБРИГАДО» ИЗ БРАЗИЛИИ!

      Проверьте, подключены ли вы к VPN любого поставщика. Они тоже блокируют сеть подключения.

      Оставить ответ

      Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.

      Последние публикации

      Категории

      Последние комментарии

      Блогролл

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

      Техническое хранение или доступ необходимы для законных целей хранения настроек, которые не запрашиваются подписчиком или пользователем.

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

      Техническое хранилище или доступ необходимы для создания профилей пользователей для отправки рекламы или отслеживания пользователя на веб-сайте или на нескольких веб-сайтах в аналогичных маркетинговых целях.

      Мне не удается подключиться к базе данных разработчиков Oracle SQL. Я сказал /0 ошибка: сетевому адаптеру не удалось установить соединение.

      Я запустил прослушиватель, но вижу, что он указывает на другой IP-адрес, а не на IP-адрес хоста. Как изменить имя хоста или IP-адрес.

      Я вижу, что он указывает на имя хоста в listener.ora.

      Прикрепил скриншот


      Может ли кто-нибудь помочь мне решить эту проблему?

      Заранее спасибо

      Он говорит, что файл listener.ora не нужен для запуска прослушивателя. Если вы переименовываете, то запускаете ресивер, потом запускаете бд, через минуту-две бд должна автоматически зарегистрироваться в листере и тогда можно делать tnsping или иным образом подключаться к базе через листенер.

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

      Поэтому используйте службы lsnrctl status lsnrctl, чтобы узнать, что происходит с слушателем, и tnsping и ping от клиента, чтобы узнать, что он думает.

      Похожие вопросы

      У меня возникла проблема с пулом подключений, настроенным в weblogic 9.2.3.0.

      Сообщите мне, почему возникла эта ошибка.

      лучше сделать вам telnet с вашим именем хоста базы данных и портом прослушивания.
      Возможно, URL-адрес базы данных неверен или база данных не работает.

      Использование последней версии облака Console 12.1.0.4. Я обнаружил кластер RAC, состоящий из двух узлов.

      И если я "попытаюсь получить доступ к экземплярам ASM Cloud Console, произойдет сбой с этой ошибкой:"

      Ошибка ввода-вывода: сетевому адаптеру не удалось установить соединение

      Дескриптор соединения был

      (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp)(HOST=rac1-vip.localdomain)

      (PORT = 1522))) ((CONNECT_DATA = (SERVICE_NAME = + ASM1) (INSTANCE_NAME = + ASM1 (SERVER = DEDICATED))(UR=A)))

      Облачная консоль: выпуск Red Hat Enterprise Linux Server 6.6 (Сантьяго)

      Database Rac: Red Hat Enterprise Linux Server, выпуск 6.5 (Сантьяго)

      Кто-то знает, как решить эту проблему?

      Большое спасибо!

      (1) какой идентификатор пользователя вы используете для OEM?

      Идентификатор пользователя должен иметь Sysdba и не должен быть в роли SYSASM.

      (2) для проверки вашего порта

      На сервере, у ворот Дома, прослушиватель, статус lsnrctl --> Проверьте экземпляр asm, указанный на вашем порту прослушивания.

      Сводка прослушивания конечных точек.

      (Проверьте правильность информации о ПОРТЕ и IP)

      Экземпляр '+ ASM1' в состоянии READY, имеет 1 операцию для этой службы.

      (3) кроме того, подключитесь к asm и проверьте подключение

      Покажите, что local_listener и данные, введенные в параметры OEM, верны.

      (4) OEM, я думаю, вы добавили Cluster_ASM.

      Oracle_home_path--> вы Grid House

      имя пользователя--> с sysdbarole

      Имя_кластера --> $GRID_HOME/bin/cemutlo - n

      Название службы--> + ASM

      У меня конфигурация 11.1.2.3 в Windows 2008 с использованием базы данных Oracle, и когда я пытаюсь настроить базу данных служб подключения и общий реестр, связанный с домом, я получаю сообщение об ошибке «Ошибка ввода-вывода +: сетевой адаптер не может установить соединение +» все путем заполнения деталей базу данных. Брандмауэр Windows отключен, база данных может подключаться через запущенный SQL Plus, прослушивание службы базы данных работает, и имя SID и сервера были предоставлены правильно. Я даже использовал localhost, кроме имени сервера, предоставляющего имя сервера, а ORCL — это SID. Любые предложения, пожалуйста?

      Пожалуйста, просмотрите прикрепленные файлы.

      Я установил db 11g на свой настольный компьютер (Windows 7, с локальной сетью), а затем создал подключение к источнику данных в tomcat, который также был в той же системе, а затем развернул образец веб-приложения, все работает нормально, У меня есть доступ к веб-приложениям.

      Но как только я сохранил свою систему с внешним IP-адресом (исключая локальную сеть моей компании), оракул выдает следующие ошибки при запуске tomcat

      Вот следующий URL будет отображать ошибку во время запуска tomcat.

      Сетевому адаптеру не удалось установить соединение,

      В этих двух файлах, listener и tnsnames ora ora, нужно изменить настройки, если я изменю IP-адрес системы?

      даже я пытался сохранить внешний IP-адрес вместо хоста в этих двух файлах конфигурации, но это не сработало.

      любая помощь будет принята с благодарностью!

      Потому что, как я объяснил, ваш слушатель слушает только на локальном хосте. localhost никогда не доступен для другой машины.

      Остановите прослушиватель, измените listener.ora для прослушивания на реальном имени компьютера и запустите приемник.

      Кроме того, ваш файл tnsnames.ora указывает на localhost.

      Прекратите использовать localhost, если вы не хотите, чтобы все работало только на одном компьютере.

      Привет, ребята.
      Я только что загрузил и установил oracle 10g Express при установке win 7.

      Я уже создал 2 таблицы и одного пользователя, и все в порядке.

      <р>но. Есть но! Я попытался подключиться (используя драйвер ojdbc14) к NetBeans и получил сообщение об ошибке "сетевой адаптер не может установить соединение".

      строка подключения:

      (pcs — это имя моего компьютера).

      Эта проблема может быть?

      Да, это то, что я вам говорил, я пытался использовать "xe" вместо "XE", но все равно получаю ту же ошибку.

      Какая вторая ошибка в строке, которую вы разместили?

      Внимательно СРАВНИТЕ свою линию с моей

      Здравствуйте, у меня странная проблема с SQL Developer (2.1.63) под Linux (Debian-testing-squeez/sid) версия версии: java java "1.6.0_16.
      Java (TM) SE Runtime Среда (сборка 1.6.0_16 – b01)
      Виртуальная машина Java Hotspot Server (сборка 14, 2 – b01, смешанный режим)

      Java — это debian .deb (sun-java6-jre, sun-java6-jdk).
      Всякий раз, когда я пытаюсь подключиться к базе данных, работающей на удаленном сервере, я получаю сообщение об ошибке, когда сетевой адаптер не может установить соединение.
      (соединение с базой, а также соединение с tnsnames)
      Sqlplus на той же машине работает очень хорошо с теми же настройками соединения, я также пробовал ту же версию SQLDEVELOPER в окне Windows, и у меня не было проблем с подключением.

      Что я пробовал:
      1. в ходе запуска tcpdump eth0 dst db01x-i на клиенте, и у меня нет сетевого трафика, исходящего из коробки
      2. я также пробовал tcpdump - ни хост eth0 192.168.3.9, ни порт 1521 на база данных сервера, чтобы быть уверенным, но и никакого трафика
      3. поместить сервер БД в /etc/hosts ничего не изменить
      4. изменить уровень ведения журнала SQLDEVELOPER, но существенных ошибок нет
      5 разных версий коннектора jdbc (ojdbc5.jar, ojdbc6.jar)

      Буду признателен за любую помощь в этой теме.
      BR и спасибо, Томас

      Привет, друзья,
      Я пытаюсь подключить свою базу данных Jdeveloper 11 g (ADF), это будет ошибка
      Проверка не удалась: сетевой адаптер не смог установить соединение
      не могли бы вы расскажите мне обо всех решениях
      Спасибо и с наилучшими пожеланиями
      Джоселин.

      (a) у вас есть своего рода брандмауэр между вами и БД, который предотвращает соединение
      (b) вы используете неверный хост/порт/sid для своей базы данных

      Этот вопрос уже обсуждался, но ни одно из решений или обстоятельств не похоже на мое.

      У меня 64-разрядная версия W 7, SQL Developer 3.2.20.09 и jdk1.7.0_40.

      Я могу подключиться к "Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 — 64-битная рабочая версия"

      но я не могу подключиться к "Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64-битная версия" и получаю указанное выше сообщение об ошибке.

      Это не проблема подключения, так как я могу подключиться к базе данных из другого приложения, работающего на моем компьютере с W7, или из SQLDeveloper на моем компьютере с XP.

      Есть идеи или предложения?

      Я установил 3.1 SqlDeveloper, JDK 1.6 - а зря.

      По-прежнему используется тип подключения TNS, но.

      <р>. Когда я подключаюсь через «логин», а не «сетевой псевдоним», я могу подключиться к рассматриваемой базе данных. Так что ничего страшного, даже если это не так удобно, как выбрать сеть из выпадающего списка псевдонимов.

      Я только что установил oracle 11g. Я могу получить доступ с помощью sql plus и разработчика sql, используя тип подключения TNS. Я пытаюсь создать новое соединение с подключением базового типа, выдает ошибку.

      Какое может быть решение этой проблемы?

      Подумайте о том, чтобы прочитать The Fine Manual и делать то, что он говорит.
      Это значительно повысит ваши шансы на успех и устранит ненужные ошибки.

      Почему никогда не бывает достаточно времени, чтобы сделать что-то хорошее, но всегда есть время, чтобы сделать больше (и снова и снова!)?

      Мне удалось подключиться к базе несколько дней назад. Когда я открываю SQL разработчика и пытаюсь подключиться к базе данных, я получаю эту ошибку. Пожалуйста, дайте мне знать, что я должен попытаться решить проблему, так как я новичок в этой технологии

      Спасибо за ответ, я заменил tnsnames.ora в переменной среды и переустановил путь, и теперь он работает

      Я пытаюсь запустить OSAUD_Collector, но не могу. Два других коллектора работают без проблем, но я не понимаю, почему не запускается OSAUD_Collector.

      Газеты:
      SC-labM0-1 > (avault): avault/orasoft / > avctl имя_сборника - REDO_Collector - SrcName AV_PRUEBA start_collector
      Начальный коллектор.
      Коллектор успешно запущен.
      SC-labM0-1 > (avault): avault/orasoft / > avctl имя_коллектора - DBAUD_Collector - SrcName AV_PRUEBA start_collector
      Запуск коллектора.
      Коллектор успешно запущен.
      SC-labM0-1 > (avault): avault/orasoft / > avctl имя_коллектора - OSAUD_Collector - SrcName AV_PRUEBA start_collector
      Запуск коллектора.
      Ошибка при выполнении команды start_collector
      Не удалось установить соединение с источником для AV_PRUEBA:OSAUD_Collector

      Надеюсь, вы поможете мне с этим.

      В газете:

      ОШИБКА @ 6 ЯНВАРЯ 2012 14:39:14 - 4:30 ':
      В строке 673; ORA-01875: минуты часового пояса должны быть в диапазоне от -59 до 59

      Можете ли вы указать значение переменной среды TZ в оболочке, с которой вы запускаете сборщик? Кроме того, в каком часовом поясе ваша база данных находится в исходной базе данных?

      Есть ли особая причина, по которой вы пытаетесь запустить сборщик вручную, в дополнение к попытке диагностировать эту конкретную проблему?

      Читайте также: