Проблема соединения с Oracle

Одной из распространенных ошибок соединения с сервером ORACLE является ошибка ORA-12154: TNS:невозможно разрешить заданный идентификатор соединения.

Эта ошибка может возникать при неправильно настроенном TNS Names, указании неправильного SID и др.

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

Например, ваша программа, C:\Program Files (x86)\Quest Software\Toad\toad.exe пытается соединиться с сервером и получает ошибку ORA-12154. Это при том, что все настроено правильно, все настройки указаны!
То же результат вы получите если клиент для подключения к ORACLE будет установлен по пути, где встречаются круглые скобки.

Такая ошибка часто возникает на 64-битных ОС, потому, что все 32-разрядные программы устанавливаются в C:\Program Files (x86)\

Варианты решения:
1. Поставить на сервер ORACLE патчи по исправлению ошибки
а. 5059238 - Patch for (x86) issue
b. 4751549 - "opatch"

2. Переустановить (во многих случаях можно просто скопировать) ваше приложение, чтобы его путь не содержал круглых скобок

P.S. Ошибка проявляется на серверах ORACLE 9i, 10g (на 11 не пробовал, возможно исправлено)

Нравится

Поделиться

4 комментария

Спасибо, информация полезная. Была ситуация, когда проблема возникала "один в один", но TOAD установлен по пути: "C:\Program Files\Quest Software\Toad for Oracle". Причём за несколько дней до проблемы всё работало. Tnsnames проверялся неоднократно. Поскольку нужных схем не было, решилось всё переустановкой Oracle. Сейчас - нормально.

Можно еще с помощью команды subst создать ссылку c:\Program files(x86)\.. на другой диск и запускать оттуда. Главное чтобы в конечном пути не было скобок.

спасибо, решил проблему шаблонов для MS Outlook!

Приятно, что давно опубликованный материал до сих пор актуален и полезен:)

Показать все комментарии