Узел 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
').