TNS: не удалось разрешить идентификатор соединения, указанный в.NET OracleClient

Я использую.net OracleClient на моем компьютере для подключения к базе данных в Oracle. Когда я пытаюсь подключиться, он показывает эту ошибку TNS.

Теперь я отредактировал файл tnsnames.ora и файл sqlnet.ora. Когда я получаю доступ к Oracle, используя ServerExplorer. Он подключается к базе данных Oracle и получает все.

У меня есть компонент ODAC с самого сайта Oracle, который также, я пытался, но Динт работал.

Моя строка подключения<add name="netOracleClient" connectionString="Data Source=ff.WORLD;Persist Security Info=True;User ID=vlc;Password=vlc;Unicode=True" providerName="System.Data.OracleClient" /> <add name="ConnectionString" connectionString="DATA SOURCE=ff.WORLD;PASSWORD=vlc;USER ID=vlc" providerName="Oracle.DataAccess.Client" />

Я попытался с ServerExplorer в обоих компонентах. Это работает FINE с Server Explorer, и я тоже получаю данные. Но когда я пишу код, он выдает мне эту ошибку ORA-12154: TNS: не удалось разрешить указанный идентификатор соединения

Это код, из которого я пытаюсь подключиться.

 OracleConnection con = new OracleConnection(WebConfigurationManager.ConnectionStrings["netOracleClient"].ConnectionString);

Подскажите способ решить эту проблему???

ПРИМЕЧАНИЕ. У нас здесь есть машины, с которых мы обращаемся к одной и той же базе данных с тем же TNS, используя OracleClient для.net. Я тоже хочу использовать то же самое..

Пожалуйста, помогите мне в этом.

3 ответа

Решение

Теперь это работает для меня. Шаги, которые мы выполнили для этого.

  • Мы заметили, что у нас более одного файла TNSNames.ORA.
  • Тогда мы могли обнаружить, что он указывает на версию Oracle Client 8.x.Так что он не работал должным образом. Так что для работы с ним...
  • Мы удалили все клиентские версии ORacle (так как мы не смогли указать клиенту VisualStudio Oracle более новую версию)

  • Переустановил его снова. После перезагрузки он начал работать.

Попробуйте добавить следующее к вашему web.config:

<oracle.manageddataaccess.client>
    <version number="*">
      <settings>
        <!-- Set this path if you are using TNS aliases as connection strings (not recommended) -->
        <!-- Instead you can use "SERVER_NAME:PORT/SERVICE_NAME" as your data source -->
        <setting name="TNS_ADMIN" value="C:\oracle\product\11.2.0\client_3\Network\Admin\"/>
      </settings>
...

Просто добавьте местоположение вашей папки, конечно.

У нас ODAC работает нормально с этой строкой подключения,

<ConnectionString name="ServerConnection">Data Source=PROD;User Id=DBUSER1;Password=DBPASSWORD1;Pooling=False;</ConnectionString>

вместе с tnsnames.ora, определяющим источник данных - PROD, как в примере файла tnsnames.ora в папке Oracle/Network/Admin.

запись tnsnames.ora выглядит так

DDSENT3 =    
  (DESCRIPTION =        
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.10)(PORT = 1521))    
    (CONNECT_DATA =    
      (SERVER = DEDICATED)    
      (SERVICE_NAME = DDSENT3)    
    )
  )
Другие вопросы по тегам