Одной из распространенных ошибок соединения с сервером 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 не пробовал, возможно исправлено)
Спасибо, информация полезная. Была ситуация, когда проблема возникала "один в один", но TOAD установлен по пути: "C:\Program Files\Quest Software\Toad for Oracle". Причём за несколько дней до проблемы всё работало. Tnsnames проверялся неоднократно. Поскольку нужных схем не было, решилось всё переустановкой Oracle. Сейчас - нормально.
Можно еще с помощью команды subst создать ссылку c:\Program files(x86)\.. на другой диск и запускать оттуда. Главное чтобы в конечном пути не было скобок.
Приятно, что давно опубликованный материал до сих пор актуален и полезен:)