Узел oracledb не обнаруживает, выключен ли сервер

oracledb.getConnection({пользователь: "", пароль: "",
      connectString: ""
      }, функция (ошибка, соединение) {
      if (err) {
          console.log("Ошибка при попытке подключения к базе данных", err.message);
          callback(err.message);
      } else {
          // Моя логика}
      });

Я подключаюсь к удаленному oracledb, используя вышеуказанный (псевдо) код. Я работаю в среде Windows. Строка подключения содержит URL-адрес для подключения к удаленной БД. Теперь, если мое имя пользователя / пароль неверно / пусто, я вижу эту ошибку. Но, если сервер выключен, он не входит в раздел обработки ошибки. Как отловить ошибку выключения сервера?

Любые выводы будут полезны. ТИА.

1 ответ

Решение

Вероятно, ожидается тайм-аут TCP. Вы можете поиграть с конфигурацией сети вашей ОС и / или настроить уровень Oracle Net (который управляет связью между приложениями и базой данных).

Создать файл $TNS_ADMIN/sqlnet.ora (не забудьте установить TNS_ADMIN так это читается!) тогда можно настроить SQLNET.OUTBOUND_CONNECT_TIMEOUT,

В зависимости от требований доступности вашего приложения вы также можете настроить различные другие параметры, такие как SQLNET.RECV_TIMEOUT а также SQLNET.SEND_TIMEOUT, Могут быть и другие варианты, которые вас интересуют. Наконец, вы можете создать tnsnames.ora файл для настройки параметров службы БД ( ' ENABLE=BROKEN ').

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