Я подключился к SQL Server с помощью Tedious / NodeJS. Соединение и запросы работают нормально (в командной строке) до тех пор, пока не разорвется соединение (LAN или WIFI).
Затем сценарий nodejs в cmd выдает необработанное событие ошибки.
Как я могу поймать разъединения и повторно подключиться, сохраняя скрипт запущенным в консоли?
events.js:174<br>
throw er; // Unhandled 'error' event<br>
^<br>
ConnectionError: Connection lost - read ECONNRESET<br>
at ConnectionError (dev node\node_modules\tedious\lib\errors.js:13:12)<br>
at Connection.socketError (dev node\node_modules\tedious\lib\connection.js:1297:54)<br>
at Socket.socket.on.error (dev node\node_modules\tedious\lib\connection.js:1128:14)<br>
at Socket.emit (events.js:203:15)<br>
at emitErrorNT (internal/streams/destroy.js:91:8)<br>
at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)<br>
at process._tickCallback (internal/process/next_tick.js:63:19)<br>
Emitted 'error' event at:<br>
at Connection.socketError (dev node\node_modules\tedious\lib\connection.js:1297:12)<br>
at Socket.socket.on.error (dev node\node_modules\tedious\lib\connection.js:1128:14)<br>
[... lines matching original stack trace ...]<br>
at process._tickCallback (internal/process/next_tick.js:63:19)<br>
Win7
узел V10.16.0
Microsoft SQL Server Standard Edition (64-разрядная)
Спасибо Маркусу за ответ. В любом случае я обнаружил, что забыл connection.on ('error'), который решил мою проблему.
Используйте блок try catch. Это будет поддерживать сервер в рабочем состоянии. Кроме того, поделитесь фрагментом кода, который дает сбой, чтобы другие лучше понимали ваш вариант использования и проблему.