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)
)
)