Мы переключаемся с устаревшего System.Data.OracleClient. Я переключил все ссылки в коде ASP.NET 2.0, однако когда я пытаюсь получить доступ к серверу базы данных с помощью вызовов ODP.NET, я получаю ORA-12154: TNS: не удалось разрешить указанный идентификатор соединения. Это работает, когда я использую System.Data.OracleClient на той же машине. Любые предложения о том, что здесь происходит не так?
Вы можете полностью избежать зависимости от Tnsnames.ora и перейти к «независимой» строке подключения в формате:
Data Source =(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID))); User Id =myUsername; Password =myPassword;
Кстати, вы можете посмотреть на connectionstrings.com / oracle , чтобы получить краткий список поддерживаемых форматов строки подключения.
Похоже, что при установке клиента неправильно настроены имена TNS. Если вы только что установили ODP.NET на этом компьютере, вы, вероятно, просто установили другой клиент Oracle, и вам еще предстоит его настроить.
Скопируйте TNSNAMES.ORA из каталога / NETWORK / ADMIN в доме Oracle, где был установлен OracleClient, и скопируйте в новый каталог / NETWORK / ADMIN, где установлен ODP.NET.
http://www.oracle.com/technetwork/topics/dotnet/odt-faq-085407.html#ORA-12154:_TNS:could_not_resolve_the
Кристиан Шей
Оракул