Сбой поиска LDAP с использованием ODP.NET, бета-версия управляемого драйвера (Oracle.ManagedDataAccess.dll) в приложении C#

Я использую ODP.NET, управляемую бета-версию драйвера (Oracle.ManagedDataAccess.dll) в своем приложении C# для доступа к базе данных Oracle. Это должно заменить использование собственной версии ODP.NET для удаления всех локальных зависимостей на Oracle Client 10g/11g/etc. так что это не должно быть установлено локально. Это решение я нашел здесь.

Это мой код C#:

new OracleConnection("Data Source=ABCDEFG1;User Id=myuserid;Password=mypassword;").Open();

Эта линия достигнута и OracleConnection Объект создан успешно, тем самым предлагая успешно загрузить все зависимости. Однако он вызывает исключение OracleException при вызове Open(), Сообщение об ошибке:

Сетевой транспорт: невозможно разрешить имя узла подключения

Моя организация выполняет поиск по имени хоста с использованием LDAP, и это делается с помощью файлов ORA с использованием параметра DIRECTORY_SERVER. Тем не менее, мне трудно заставить это сделать с помощью управляемой версии ODP.NET. Файлы ORA хранятся в C: \ Apps \ oracle \ network \ admin.

tnsping на моем источнике данных ('ABCDEFG1') работает нормально. Итак, я использовал вывод tnsping и добавил запись для ABCDEFG1 в tnsnames.ora, используя этот вывод. Мое приложение успешно подключилось. Итак, я знаю, что он определенно находит и использует файлы ORA, но по какой-то причине он не выполняет поиск LDAP, который использует неуправляемый ODP.NET (в других приложениях).

Кто-нибудь, кто использовал этот новый управляемый ODP.NET, знает об этой проблеме или что я могу делать неправильно?

1 ответ

Решение

Я задавал тот же вопрос на форумах Oracle, и кто-то там придумал ответ. Похоже, что управляемый ODP.NET не поддерживает LDAP, и это указано в его заметках о выпуске.

У меня есть еще один вопрос, вытекающий из этого, и я был бы рад, если бы кто-нибудь мог помочь мне, ответив на этот вопрос.

Большое спасибо.

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