Управляемый драйвер Oracle не может разрешить имя TNS, но существует в трассировке

Я установил и настроил клиент Oracle.ManagedDataAccess с правильной настройкой TNS_ADMIN (в файле конфигурации.NET). Когда я включаю трассировку Oracle, он правильно выбирает параметр TNS_ADMIN и даже перечисляет все записи TNS из TNSNAMES.ORA. Имя TNS, которое я использую в строке подключения, существует в выводе трассировки.

Однако, когда я пытаюсь подключиться, используя имя TNS в строке подключения (в разделе "Источник данных =...;"), это все равно дает мне ORA-12154 (не удается разрешить идентификатор подключения). Я не уверен, что делаю не так... Управляемый провайдер Oracle идентифицирует идентификатор соединения в трассировке. Я также могу TNSPING с идентификатором соединения с любой проблемой, и мой управляемый конфиг Oracle указывает на тот же TNSNAMES.ORA, который используется TNSPING.

Есть идеи?

Спасибо!

1 ответ

Одним из возможных решений было бы поместить конфигурацию TNS непосредственно в строку подключения.

<connectionStrings>
    <add name="Default" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL = TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=xe)));User Id=...;Password=...;" providerName="Oracle.DataAccess.Client" />
  </connectionStrings>
Другие вопросы по тегам