TNS_NAMES.ORA Проблема с кешем - Oracle.ManagedDataAccess .NET - PullRequest
0 голосов
/ 11 октября 2018

При использовании Oracle.ManagedDataAccess (ODP.Net) я обнаружил, что файл TNS_NAMES.ora кэшируется, поэтому любые изменения в записи или в самом файле не вступят в силу до перезапуска приложения.Я нашел сообщение на сайте Сообщества Oracle, в котором говорится, что дело обстоит именно так, и должен быть параметр для удаления кэша, но в нем не указано, как называется параметр (https://community.oracle.com/thread/3961566). Любая помощь приветствуется.

Шаги для воспроизведения:

  1. База данных запросов

    using (var con = new OracleConnection({connection string here})) using (var oracleCmd = new OracleCommand()) { try { con.Open(); oracleCmd.Connection = con; oracleCmd.CommandText = @"SELECT 'DUH' FROM DUAL"; oracleCmd.CommandType = CommandType.Text; string duh = ""; using (var r = oracleCmd.ExecuteReader()) { while (r.Read()) { duh = r["DUH"].ToString(); } } return duh; } catch (Exception ex) { return null; } }

  2. Измените файл TNS_NAMES.ORA так, чтобысоединение не устанавливается.

  3. Запрос по-прежнему возвращает «duh», поскольку соединение кэшируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...