Администратор ODBC не может найти файл имен Oracle TNS

С новой установкой Oracle, когда я иду в Configuration Management Tools > Microsoft ODBC Administrator > System DSN > Add > [new installation] у него нет имен TNSNAMES.имя соединения ora в раскрывающемся списке. Со старой установкой это сработало.

Create New Data Source

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

enter image description here

была предыдущая установка клиента Oracle на сервере Windows. Я попытался удалить большинство файлов но наш Oracle DBA сказал, что мы можем просто сделать еще одну установку и обновить пути среды с новым местоположением.

Я понимаю, что есть еще два сообщения на SO здесь и здесь по этому вопросу. Тем не менее, я не уверен, что TNS PING поможет, потому что это, похоже, проблема с путями среды и ODBC, способными найти .файл ora.

файл tnsnames.Ора месте

TNS_Admin = E:app[username]product.2.0client_1networkadminTNSNAMES.ora

Переменные Среды

TNS_Admin = E:app[username]product.2.0client_1  
Path = E:app[username]product.2.0client_1

Реестра
home3-это новая установка. Должен ли я удалить старый раздел реестра (home2)? HKLMSOFTWAREORACLEKEY_OraClient11g_home2 и ..._home3

кроме того, если я выберу "OraClient11g_home2" на экране создать новый источник данных, вот что отображается в раскрывающемся списке:

enter image description here

6 ответов


похоже, перекати-поле прокатилось на этом, но только для всех, кто может испытывать ту же проблему; я смог это исправить, используя Net Configuration Assistant Мастер и предоставление правильной информации. Он породил tnsnames.ora в нужном формате и следует отметить, что имя дано мне было tsnames.ora!


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

enter image description here


для глупых душ, как я: если вы пишете из tnsnames.ora через блокнот или около того, убедитесь, что у него нет .txt расширение, которое по (нашему) умолчанию не отображается в проводнике windows


убедитесь, что:

  • код tnsnames.ora кодируется в ANSI, а не UTF8.
  • у вас нет специальных символов, как üäö, даже в комментариях.

извините, чтобы оживить древний поток, но у меня была та же проблема, и Net Configuration Assistant не работал.

(Windows XP SP3, клиент Oracle 11gR2)

Решение:
1. Удалить все другое экземпляров ORACLE_HOME, т. использование установщика Oracle (De -) (не просто удалите ключи реестра!), так что у вас есть только один Oracle_Home, который вы хотите держать:
%oracle-home-that-you-want-to-keep%\client\oui\bin\setup.exe
2. Создание или установка переменных среды Windows:
TNS_Admin = %oracle_home%\client_1\network\admin
Path = %oracle_home%\client_1; ...
3. Перезагрузить. (вздыхать...)

Во всяком случае, это сработало для меня.


по какой-то причине в windows 2012R2 не были установлены переменные среды ORACLE_HOME. Это может быть проблемой, поэтому либо add oracle_home или tns_admin. Установки Windows 2012 имели oracle_home переменной.