Oracle.ManagedDataAccess OracleInternal.NotificationServices.ONSException

Мы используем драйвер ODP.NET "Oracle.ManagedDataAccess" для доступа к базе данных в Oracle.

При подключении к базе данных с помощью строки подключения:

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=10.40.40.38)(Port=1521)))(CONNECT_DATA=(SERVICE_NAME=D3T))); User Id=test; Password=test'

Внутреннее сообщение об ошибке:

OracleInternal.NotificationServices.ONSException **: ONS: после открытия соединения списки узлов не были настроены.

Код:

string connect = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=10.40.40.38)(Port=1521)))(CONNECT_DATA=(SERVICE_NAME=D3T))); User Id=test; Password=test";
OracleConnection connection = new OracleConnection(connect);
connection.Open();

Связь с базой данных работает нормально. Но что внутренне не так с конфигурацией?

Ответ 1

Я нашел эту ссылку полезной: https://www.databaseusers.com/article/6046913/ONS%3A+No+node+lists+were+configured

По сути, вам нужно настроить ONS или отключить LoadBalancing и HAEvents следующим образом:

Oracle.ManagedDataAccess.Client.OracleConfiguration.LoadBalancing = false;
Oracle.ManagedDataAccess.Client.OracleConfiguration.HAEvents = false;