ORA-12541: TNS: нет слушателя в SSIS - PullRequest
1 голос
/ 19 марта 2020

У нас есть oracle oledb-соединений в пакетах служб SSIS, которые хорошо работают на windows server 2008.

Мы перенесли их на windows server 2012 и установили необходимое программное обеспечение. Мы установили oracle клиент (драйвер oraoledb), переместили tnsnames.ora, ldap.ora и sq lnet .ora в %Oracle_Home%\Network\admin путь, добавив %Oracle_Home% и %Oracle_Home%\bin в переменную пути.

Но на сервере 2012 oracle соединения выдают эту ошибку ORA-12541: TNS: нет прослушивателя . Где, как и на сервере 2008, все те же oracle соединения работают нормально.

Очень много смотрел через inte rnet, но нашел следующие решения:

  1. Проверьте tnsnames.ora
  2. Проверьте, что прослушиватель работает
  3. Проверьте переменную пути, содержащую oracle home, oracle_home \ bin

Я не вижу проблемы с tnsnames.ora, поскольку тот же файл присутствует на оба оконных сервера. Правильные переменные пути также установлены. Слушатель также работает (поскольку SSIS на сервере 2008 подключается). И я могу пропинговать сервер oracle db с обеих машин.

Может кто-нибудь предложить что-нибудь, что мы можем попробовать.

1 Ответ

1 голос
/ 20 марта 2020

Чтобы поставить формальный ответ здесь.

Основы c шаги по устранению неполадок с SSIS:

  1. Используйте собственные инструменты базы данных для проверки подключения
    • В этот случай для Oracle, то есть SQLPLUS.EXE
    • Если у вас есть проблема с собственными инструментами, то это не проблема SSIS
  2. Проверьте, что вы можете решить хост с помощью PING <hostname>.
    • Если это не сработает, попробуйте PING <ip address>
  3. Если пинг работает, проверьте порт с TELNET <host> <port>
    • Если это не сработало работает, либо служба не прослушивает, либо вам нужно, чтобы ваши сетевые парни открыли порт

Это относится к любому сетевому сервису

т.е.

  • SQL Сервер (порт по умолчанию 1433)
  • веб-сервер (порт 80 по умолчанию для незашифрованных сообщений)
...