Сбой соединения ODBC с Oracle InstantClient в DbProviderFactory при успешном тестовом соединении ODBC

  • Установлены пакеты InstantCLient 11.2.0.4 Basic Lite и ODBC
  • Установите переменные среды ORACLE_HOME и TNS_ADMIN и добавьте путь для установки в переменную среды Path.
  • Создал мой файл tnsnames.ora в этом месте
  • Настроил мой DSN с помощью TNS в файле и сделал тестовое соединение - успешно.
  • Использовал код C#, который я разработал ранее и который использует универсальный метод подключения DbProviderFactoies к провайдерам данных (уже работает с Teradata, SQL Server)
  • Создал мою конфигурацию источника данных со следующей строкой подключения:
    <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="DataSource" connectionString="DRIVER={Oracle in instantclient_11_2};Data Source=Test Oracle;Persist Security Info=True;Password=password;User=user" providerName="System.Data.OracleClient"/> </connectionStrings> </configuration>
  • Результат: "ORA-12560: TNS: ошибка адаптера протокола".
  • Я перепробовал много вариантов в строке подключения, и все они привели к некоторой ошибке. Любая помощь будет высоко ценится.

Системная информация

  • Windows Server 2003, 64-разрядная версия
  • C#.NET 3.5
  • Oracle 11g 11.2.0.3.0 удаленная база данных

2 ответа

Я не уверен, что случилось, но я обнаружил, что очень простая строка подключения ниже работает! Он также использует общий System.Data.Odbc.

<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="DataSource" connectionString="DSN=MyDSN;Uid=user;Pwd=password" providerName="System.Data.Odbc"/> </connectionStrings> </configuration>

Это зависит от того, какой протокол вы используете для подключения: TCP или же TCPS,
Если TCPS тогда .NET Framework версия должна быть выше 4.5.
Ты получаешь " ORA-12560: TNS:protocol adapter error "если .NET Framework версия ниже 3.5.

Другие вопросы по тегам