Tedious: Ошибка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ESOCKET ΠΎΡ‚ Π²Π΅Π±-прилоТСния node js ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… MSSql

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 25 сСнт. 2018  Β·  19ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: tediousjs/tedious

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΊΠΎΠΌΠ°Π½Π΄Π°,
Π’ настоящСС врСмя ΠΌΡ‹ часто сталкиваСмся с прСрывистыми ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· нашСго Π²Π΅Π±-прилоТСния ΠΊ MsSql, ΠΊΠΎΠ³Π΄Π° ΠΊ слуТбС большС Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.
Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ этому вопросу.

Ошибка :
_{ ConnectionError: НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ <>:1433 - НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ)
Π² Connection.tedious.once.err (D:\home\site\wwwroot\node_modules\mssql\lib\tedious.js:216:17)
Π½Π° Connection.g (events.js:291:16)
Π² emitOne (events.js:96:13)
Π² Connection.emit (events.js:188:7)
Π² Connection.socketError (D:\home\site\wwwroot\node_modules\tedious\lib\connection.js:699:14)
Π² D:\home\site\wwwroot\node_modules\tedious\lib\connection.js:590:25
Π² SequentialConnectionStrategy.connect (D:\home\site\wwwroot\node_modules\tedious\lib\connector.js:153:9)
Π² Socket.onError (D:\home\site\wwwroot\node_modules\tedious\lib\connector.js:169:16)
Π² emitOne (events.js:96:13)
Π² Socket.emit (events.js:188:7)
ΠΊΠΎΠ΄: 'ESOCKET',
исходная ошибка: _

Π”Π΅Ρ‚Π°Π»ΠΈ вСрсии:
"ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ": "2.0.1",
"mssql": "^4.0.4",

Бпасибо,
ΠŸΡ€Π°Π²ΠΈΠ½.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ‚Ρƒ ΠΆΠ΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ использовании ΠΊΠΎΠ΄Π°, скопированного ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Microsoft: https://www.microsoft.com/en-us/sql-server/developer-get-started/node/windows/step/2.html

НаконСц, я Ρ€Π΅ΡˆΠΈΠ» эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP/IP Π² «ДиспСтчСрС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвСра SqlΒ» -> Β«ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сСти SQL ServerΒ» -> Β«ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ для"->"TCP/IP"

C:\Users\zpc\Desktop\SqlServerSample>node connect.js { ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence) at ConnectionError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\errors.js:13:12) at Connection.socketError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connection.js:1183:28) at Connector.execute (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connection.js:1022:21) at SequentialConnectionStrategy.connect (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connector.js:69:7) at Socket.onError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connector.js:84:12) at Socket.emit (events.js:189:13) at emitErrorNT (internal/streams/destroy.js:82:8) at emitErrorAndCloseNT (internal/streams/destroy.js:50:3) at process._tickCallback (internal/process/next_tick.js:63:19) message: 'Failed to connect to localhost:1433 - Could not connect (sequence)', code: 'ESOCKET' }

ВсС 19 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @Praveen335 πŸ‘‹πŸ»

МнС Таль ΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ использовании tedious . К соТалСнию, прСдоставлСнной Π’Π°ΠΌΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ нСдостаточно для понимания происходящСго. НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ? НапримСр, Π½Π°ΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ:

  • ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π΅Ρ€ΡΠΈΡŽ tedious Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅?
  • ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ эта ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚? Будя ΠΏΠΎ трассировкС стСка, это происходит ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π»ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ процСссы? Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° SQLServer (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ·-Π·Π° упомянутой Π²Π°ΠΌΠΈ высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ), Π° Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с самим tedious .

Бпасибо! πŸ™‡πŸ»β€β™‚οΈ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @arthurschreiber ,
Бпасибо Π·Π° ваш быстрый ΠΎΡ‚Π²Π΅Ρ‚. Π― ΡƒΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» Π½ΡƒΠ΄Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π² своСм постС.

Π”Π΅Ρ‚Π°Π»ΠΈ вСрсии:
"ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ": "2.0.1",
"mssql": "^4.0.4",

ΠœΡ‹ рассмотрСли Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΠΎΡ‚ΠΎΠΊ для SQL-сСрвСра ΠΈ сСтСвоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π΅Π³ΠΎ Π² слуТбу ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Microsoft. Они упомянули всС Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ с ΠΊΠΎΠ½Ρ†Π° SQLServer. ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π½ΠΈΡ‚ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ мСньшС. Π― попытался ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ. Но Π½Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ. ПослС получСния ошибки сокСта ΠΎΠ½ постоянно Π²Ρ‹Π΄Π°Π΅Ρ‚ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ запросы. Π›ΡŽΠ±ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ рСкомСндация Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ. Π’ настоящСС врСмя ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΡƒΠ» соСдинСний для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Бпасибо,
ΠŸΡ€Π°Π²ΠΈΠ½.

Π’ΠΎ ΠΆΠ΅ самоС здСсь, ΠΎΠ½ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ этого состояния ΠΈ застрСваСт...

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚Π΅ ΠΆΠ΅ ошибки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, происходящиС Π² нашСй систСмС.

ΠœΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡƒΠ» соСдинСний ΠΏΡ€ΠΈ запускС слуТбы.
new App.SQL.ConnectionPool

Π’ случайный ΠΌΠΎΠΌΠ΅Π½Ρ‚ запрос Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ с ошибкой:

ConnectionError: НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сСрвСру Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: 1433 - НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ)

Π‘Π»ΡƒΠΆΠ±Π° пСрСзапускаСтся автоматичСски, Π½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ эти ошибки Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 20 ΠΌΠΈΠ½ΡƒΡ‚. ПослС этого слуТба пСрСзапускаСтся ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ снова ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ.

ΠœΡ‹ наблюдаСм это с нСсколькими процСссами ΡƒΠ·Π»Π° Π½Π° этом сСрвСрС, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ это Π΄Π΅Π»Π°ΡŽΡ‚), Ρ‡Ρ‚ΠΎ довольно странно. ΠœΡ‹ считаСм, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ NodeJS, Π° Π½Π΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… mssql.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ эти вСрсии:

mssql: 4.3.0 (послСдняя)
ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ вСрсия, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² этот ΠΏΠ°ΠΊΠ΅Ρ‚, - 2.7.1.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ испытываСм эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π­Ρ‚ΠΎ наши вСрсии:
MSSQL: 4.3.0
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ: 2.7.1

ConnectionError: Failed to connect to xxxxxx.database.windows.net:1433 in 15000ms
at Connection.tedious.once.err (...node_modules\mssql\lib\tedious.js:239:17)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at Connection.emit (events.js:211:7)
at Connection.connectTimeout (...node_modules\mssql\node_modules\tedious\lib\connection.js:944:12)
at Timeout._onTimeout (...node_modules\mssql\node_modules\tedious\lib\connection.js:913:16)
at ontimeout (timers.js:482:11)
at tryOnTimeout (timers.js:317:5)
at Timer.listOnTimeout (timers.js:277:5)

ΠŸΠΈΡˆΠΈΡ‚Π΅ свои вСрсии MSSQL Server. Π’Π΅ΠΏΠ΅Ρ€ΡŒ SQLNCLI11 Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° MSOLEDBSQL для экзСмпляра MSSQL2017.
https://blogs.msdn.microsoft.com/sqlnativeclient/2018/03/30/released-microsoft-ole-db-driver-for-sql-server/

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ‚Ρƒ ΠΆΠ΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ использовании ΠΊΠΎΠ΄Π°, скопированного ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Microsoft: https://www.microsoft.com/en-us/sql-server/developer-get-started/node/windows/step/2.html

НаконСц, я Ρ€Π΅ΡˆΠΈΠ» эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP/IP Π² «ДиспСтчСрС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвСра SqlΒ» -> Β«ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сСти SQL ServerΒ» -> Β«ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ для"->"TCP/IP"

C:\Users\zpc\Desktop\SqlServerSample>node connect.js { ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence) at ConnectionError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\errors.js:13:12) at Connection.socketError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connection.js:1183:28) at Connector.execute (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connection.js:1022:21) at SequentialConnectionStrategy.connect (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connector.js:69:7) at Socket.onError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connector.js:84:12) at Socket.emit (events.js:189:13) at emitErrorNT (internal/streams/destroy.js:82:8) at emitErrorAndCloseNT (internal/streams/destroy.js:50:3) at process._tickCallback (internal/process/next_tick.js:63:19) message: 'Failed to connect to localhost:1433 - Could not connect (sequence)', code: 'ESOCKET' }

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ‚Ρƒ ΠΆΠ΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ использовании ΠΊΠΎΠ΄Π°, скопированного ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Microsoft: https://www.microsoft.com/en-us/sql-server/developer-get-started/node/windows/step/2.html

НаконСц, я Ρ€Π΅ΡˆΠΈΠ» эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP/IP Π² «ДиспСтчСрС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвСра SqlΒ» -> Β«ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сСти SQL ServerΒ» -> Β«ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ для» -> Β«TCP/IPΒ».

C:\Users\zpc\Desktop\SqlServerSample>node connect.js { ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence) at ConnectionError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\errors.js:13:12) at Connection.socketError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connection.js:1183:28) at Connector.execute (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connection.js:1022:21) at SequentialConnectionStrategy.connect (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connector.js:69:7) at Socket.onError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connector.js:84:12) at Socket.emit (events.js:189:13) at emitErrorNT (internal/streams/destroy.js:82:8) at emitErrorAndCloseNT (internal/streams/destroy.js:50:3) at process._tickCallback (internal/process/next_tick.js:63:19) message: 'Failed to connect to localhost:1433 - Could not connect (sequence)', code: 'ESOCKET' }

Бпасибо! Π£ мСня Π±Ρ‹Π»Π° ΠΈΠΌΠ΅Π½Π½ΠΎ эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ;)

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ всС Π΅Ρ‰Π΅ сталкиваСмся с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΠΎΡ‡Ρ‚ΠΈ со всСми нашими слуТбами nodejs, ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… тСстов.
ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π²Ρ‹ΡˆΠ΅ с исправлСниСм TCP/IP ΡƒΠΆΠ΅ Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π½Π° нашСм сСрвСрС sql.

ΠœΡ‹ создали Π½ΠΎΠ²ΡƒΡŽ слуТбу nodejs, которая Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Он Π½Π΅ вызываСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ слуТбой, просто Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² PM2.
Он ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΠ» соСдинСний ΠΏΡ€ΠΈ запускС ΠΈ просто сидит Ρ‚Π°ΠΌ.

ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ 3 ошибки Π·Π° 5 Π΄Π½Π΅ΠΉ, происходящиС случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
Β«ConnectionError: Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ sql.tilroy. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ: 1433 β€” Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ)Β».

Π­Ρ‚ΠΎ ΠΊΠΎΠ΄:

`
константная конфигурация = {
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ: Config.sql.sqluser,
ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: Config.sql.sqlpassword,
сСрвСр: Config.sql.sqlhost,
Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…: Config.sql.sqldatabase,
ΠΏΠΎΡ€Ρ‚: Config.sql.sqlport,
врСмя оТидания соСдинСния: 3000,
запросВаймаут: 3000,
бассСйн: {
макс: 100,
min: 1, // Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ всС соСдинСния.
ΠΏΡ€ΠΎΡΡ‚ΠΎΡΠ’ΠΈΠΌΠ΅Π°ΡƒΡ‚ΠœΠΈΠ»Π»ΠΈΡ: 1000,
evictionRunIntervalMillis: 1500000
}
};

const sqlConnection = new SQL.ConnectionPool(config, function (err) {
    Log.debug("got sql connection");
    if(err){
        Log.error(err);
        process.exit(1);
    }
});

sqlConnection.on('error', err => {
    Log.error(`Connection err : ${err}`);
    process.exit(1);
});

`

ΠœΡ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ наш SQL-сСрвСр, Π½ΠΎ это Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ. ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ всС наши ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π½ΠΎ всС Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ эти ошибки.
Π§Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΅Ρ‰Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ? ΠœΡ‹ Π±Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ tedious/mssql, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… сСрвисах.

@TimTilroy Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡƒΠ»Π° соСдинСний ΠΈΠ»ΠΈ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡƒΠ»Π° соСдинСний ? Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΠ» соСдинСний ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ это.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ Π―Π½Π§ΠΎΠΊΠ‘,

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡƒΠ»Π° ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… соСдинСний, Π° ΠΏΡƒΠ» соСдинСний ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° mssql (я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ).

Однако ΠΌΡ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ mssql Π΄ΠΎ вСрсии 5.1, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ каТСтся ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, Ρƒ нас большС Π½Π΅Ρ‚ ошибок ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² нашСм тСстовом сСрвисС. Одно ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡƒΠ»Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Π° ΠΈΠ· ΠΏΡƒΠ»Π° ΡƒΠ·Π»ΠΎΠ² Π² tarn.js.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Ρ€Π΅ΡˆΠΈΠ»ΠΎ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ установили минимальноС количСство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊ ΠΏΡƒΠ»Ρƒ Π½Π° 0, Π½Π΅ знаю, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ это ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ влияниС.

@MarioPerezEsteso , Ссли Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ сСрвСру, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ TCP IP Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈ Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΡ€Ρ‚Π° Π² вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, доступСн Π»ΠΈ сСрвСр.

@regevbr , @Praveen335 Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΡƒΠ» соСдинСний, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ tarn.js вмСсто ΠΏΡƒΠ»Π° ΡƒΠ·Π»ΠΎΠ², ΠΊΠ°ΠΊ это сдСлал TimTilroy, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, исправит Π»ΠΈ это ваши ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. Если Π½Π΅Ρ‚, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ послСднСй вСрсии mssql (v5.1).

ОбновлСниС: ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ mssql (5.1.0) ΠΊΠΎ всСм нашим слуТбам sql, ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ соСдинСния ΠΏΡƒΠ»Π° Π΄ΠΎ 0, ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ошибки соСдинСния ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° нашСго развСртывания.

Π― Π΄ΡƒΠΌΠ°ΡŽ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ "/" вмСсто "\" Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² этом Ρ€ΠΎΠ΄Π΅.

@ Praveen335 Praveen335 ΠŸΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Π»ΠΈ Π²Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ Π½ΠΎΠ²ΠΎΠΉ вСрсии mssql (5.1.0), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ€Π΅ΡˆΠΈΡ‚ Π»ΠΈ ΠΎΠ½Π° Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ? Если Π½Π΅Ρ‚, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ снова ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ этот вопрос.

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ вСрсии:
mssql: "^6.2.0",
ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ: "^8.3.0"

Π― Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» TCP/IP Π² диспСтчСрС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ всС ΠΌΠΎΠΈ слуТбы sql Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. Π½ΠΎ я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

C:\Nodejs\node-sql-conn\Database>ΡƒΠ·Π΅Π» connect.js
tedious deprecated Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ основной вСрсии tedious созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ экзСмпляра Connection большС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ соСдинСниС с сСрвСром. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ connect ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ .connect для Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Connection Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ это сообщСниС. Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ\процСсс\task_queues.js:79:11
Ошибка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

C:\Nodejs\ΡƒΠ·Π΅Π»-sql-conn\Databaseconnect.js:26
Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ;
^
ConnectionError: Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ хосту: undefined β€” Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ запись послС уничтоТСния ΠΏΠΎΡ‚ΠΎΠΊΠ°
ΠΏΡ€ΠΈ ConnectionError (C:\Nodejs\node-sql-conn\node_modulestedious\lib\errors.js:13:12)
Π² Connection.socketError (C:\Nodejs\node-sql-conn\node_modulestedious\libconnection.js:1308:56)
Π² Π‘ΠΎΠΊΠ΅Ρ‚.(C:\Nodejs\node-sql-conn\node_modulestedious\libconnection.js:1143:14)
Π² Socket.emit (events.js:327:22)
Π² errorOrDestroy (internal/streams/destroy.js:108:12)
ΠΏΡ€ΠΈ onwriteError (_stream_writable.js:418:5)
ΠΏΡ€ΠΈ записи (_stream_writable.js:445:5)
Π² doWrite (_stream_writable.js:399:11)
Π² writeOrBuffer (_stream_writable.js:387:5)
Π² Socket.Writable.write(_stream_writable.js:318:11) {
ΠΊΠΎΠ΄: 'ESOCKET'
}

Π­Ρ‚ΠΎ ΠΌΠΎΠΉ ΠΊΠΎΠ΄:
var Connection = require('ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ').Connection;
пСрСмСнная ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° = {
сСрвСр: 'Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ',
аутСнтификация: {
Ρ‚ΠΈΠΏ: 'ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ',
ΠΎΠΏΡ†ΠΈΠΈ: {
имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: 'са',
ΠΏΠ°Ρ€ΠΎΠ»ΡŒ: '####',
ΠΏΠΎΡ€Ρ‚: 1433
}
},
ΠΎΠΏΡ†ΠΈΠΈ: {
Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…: «Компания»,
имя_экзСмпляра: 'MSSQLSERVER',
rowCollectionOnDone: ΠΏΡ€Π°Π²Π΄Π°,
useColumnNames: лоТь,
трастсСрвСрсСртификатС: лоТь
}
};
соСдинСниС var = Π½ΠΎΠ²ΠΎΠ΅ соСдинСниС (конфигурация);
соСдинСниС.ΠΎΠ½('ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅',функция(ошибка){
Ссли (ошибка) {
console.log('Ошибка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ');
Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ;
}
Π΅Ρ‰Π΅{
console.log('ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ');
}
});
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.экспорт = соСдинСниС;

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ‚Ρƒ ΠΆΠ΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ использовании ΠΊΠΎΠ΄Π°, скопированного ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Ρ†Π° Microsoft: https://www.microsoft.com/en-us/sql-server/developer-get-started/node/windows/step/2.html

НаконСц, я Ρ€Π΅ΡˆΠΈΠ» эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP/IP Π² «ДиспСтчСрС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвСра SqlΒ» -> Β«ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сСти SQL ServerΒ» -> Β«ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ для» -> Β«TCP/IPΒ».
SQLServerConfigurationManager

C:\Users\zpc\Desktop\SqlServerSample>node connect.js { ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence) at ConnectionError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\errors.js:13:12) at Connection.socketError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connection.js:1183:28) at Connector.execute (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connection.js:1022:21) at SequentialConnectionStrategy.connect (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connector.js:69:7) at Socket.onError (C:\Users\zpc\Desktop\SqlServerSample\node_modules\tedious\lib\connector.js:84:12) at Socket.emit (events.js:189:13) at emitErrorNT (internal/streams/destroy.js:82:8) at emitErrorAndCloseNT (internal/streams/destroy.js:50:3) at process._tickCallback (internal/process/next_tick.js:63:19) message: 'Failed to connect to localhost:1433 - Could not connect (sequence)', code: 'ESOCKET' }

Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для мСня. Бпасибо, Ρ‡Ρ‚ΠΎ Π΄Π°Π»ΠΈ ΠΌΠ½Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π― Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽ с ошибками ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ESOCKET, ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ связана с TCP/IP, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΈΠ· AWS EC2 ΠΊ AS RDS ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠΠΠšΠžΠΠ•Π¦ я Ρ€Π΅ΡˆΠΈΠ» ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я использовал ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π» Π½ΠΎΠ²ΠΎΠ΅ соСдинСниС:

function getConnection () {
    // console.log("config")
    // console.log(config)
    return new Promise(function (resolve, reject) {
        const pool = new sql.ConnectionPool(getConfig())
        // console.log("Getting connection...");
        pool.connect()
        .then((cn) => {
            // console.log("connection got");
            resolve(cn);
        })
        .catch((e) => {
            // console.log("connection not got");
            reject(e);
        });
    })
}

Π‘ΠΊΡ€ΠΈΠΏΡ‚, Ρ€Π΅ΡˆΠΈΠ²ΡˆΠΈΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ:

function runCommand(cmdText) {
    return new Promise((resolve, reject) => {
        pool2Connect
        .then((pool) => {
            // pool.request() // or: new sql.Request(pool2)
            // .input('input_parameter', sql.Int, 10)
            // .output('output_parameter', sql.VarChar(50))
            // .execute('procedure_name', (err, result) => {
            //     // ... error checks
            //     console.dir(result)
            // })
            pool.request() // or: new sql.Request(pool2)
            .query(cmdText)
            .then((rows) => {
                return resolve(rows.recordset);
            })
            .catch((e) => {
                return reject(e);
            });
        })
        .catch((err) => {
            return reject(err);
        });
    });
}

Π³Π΄Π΅ pool2Connect Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΈ запускС скрипта:

    pool2 = new sql.ConnectionPool(config);
    pool2Connect = pool2.connect();
    pool2.on('error', err => {
        console.log(err);
    });

НадСюсь, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ