Tedious: ConnectionError: Falha ao conectar a<server name="">em 15000ms # 833</server>

Criado em 5 dez. 2018  ·  5Comentários  ·  Fonte: tediousjs/tedious

Reabrindo este problema.
https://github.com/tediousjs/tedious/issues/833

Eu tentei tedious-connection-pool e módulo node-mssql, ambos estão gerando o mesmo erro.

Comentários muito úteis

Outra atualização:
Com base no erro, fiz uma bifurcação e fiz uma pequena alteração no arquivo connection.js para adicionar o evento ausente no estado de autenticação alimentado:
'routingChange' no estado 'SentLogin7Withfedauth'
e então as coisas parecem funcionar bem e meu serviço no azure app service env também é capaz de se conectar ao servidor e obter dados. Veja para referência:
https://github.com/shani117/tedious/commit/0777bf6f5ad7f1701a355f8e706fd0ce5120eda4

Ainda não estou pronto para fazer uma RP, mas só queria divulgar para ver se estou seguindo o caminho certo ou não.

Feedback apreciado.

Todos 5 comentários

@ aniltomar10 Você poderia enviar um

Também estou enfrentando exatamente o mesmo problema ao tentar me conectar a um banco de dados SQL Azure usando autenticação AAD. Meu serviço também se conecta a outro banco de dados SQL Azure que usa apenas autenticação SQL e essa conexão está funcionando perfeitamente bem. Apenas a autenticação AAD falha. Quando fiz alguma captura de fluxo de log, vejo que este erro é gerado todas as vezes antes que a tentativa de conexão expire:

Error: No event 'routingChange' in state 'SentLogin7Withfedauth' at new Error (native) at Connection.dispatchEvent (D:\home\site\wwwroot\server.js:269168:26) at Parser.tokenStreamParser.on.token (D:\home\site\wwwroot\server.js:268857:12) at Zone.runTask (D:\home\site\wwwroot\server.js:259175:47) at Parser.ZoneTask.invoke (D:\home\site\wwwroot\server.js:259369:33) at emitOne (events.js:96:13) at Parser.emit (events.js:188:7) at Parser.parser.on.token (D:\home\site\wwwroot\server.js:274976:14) at Zone.runTask (D:\home\site\wwwroot\server.js:259175:47) at Parser.ZoneTask.invoke (D:\home\site\wwwroot\server.js:259369:33) at emitOne (events.js:96:13)

Este é o meu rastreamento de pilha de exceção que é registrado no app insights:

ConnectionError: at ConnectionError (at ConnectionError (D:\home\site\wwwroot\server.js:34539:12) at ConnectionError (D:\home\site\wwwroot\server.js:34539:12): D:\home\site\wwwroot\server.js at ConnectionError (D:\home\site\wwwroot\server.js:34539:12): 34539) at Connection.connectTimeout (at Connection.connectTimeout (D:\home\site\wwwroot\server.js:269106:26) at Connection.connectTimeout (D:\home\site\wwwroot\server.js:269106:26): D:\home\site\wwwroot\server.js at Connection.connectTimeout (D:\home\site\wwwroot\server.js:269106:26): 269106) at Timeout.connectTimer.setTimeout (at Timeout.connectTimer.setTimeout (D:\home\site\wwwroot\server.js:269080:12) at Timeout.connectTimer.setTimeout (D:\home\site\wwwroot\server.js:269080:12): D:\home\site\wwwroot\server.js at Timeout.connectTimer.setTimeout (D:\home\site\wwwroot\server.js:269080:12): 269080) at ZoneDelegate.invokeTask (at ZoneDelegate.invokeTask (D:\home\site\wwwroot\server.js:259299:35) at ZoneDelegate.invokeTask (D:\home\site\wwwroot\server.js:259299:35): D:\home\site\wwwroot\server.js at ZoneDelegate.invokeTask (D:\home\site\wwwroot\server.js:259299:35): 259299) at Zone.runTask (at Zone.runTask (D:\home\site\wwwroot\server.js:259175:47) at Zone.runTask (D:\home\site\wwwroot\server.js:259175:47): D:\home\site\wwwroot\server.js at Zone.runTask (D:\home\site\wwwroot\server.js:259175:47): 259175) at Timeout.ZoneTask.invoke (at Timeout.ZoneTask.invoke (D:\home\site\wwwroot\server.js:259369:33) at Timeout.ZoneTask.invoke (D:\home\site\wwwroot\server.js:259369:33): D:\home\site\wwwroot\server.js at Timeout.ZoneTask.invoke (D:\home\site\wwwroot\server.js:259369:33): 259369) at Timeout.data.args.(anonymous function) [as _onTimeout] (at Timeout.data.args.(anonymous function) [as _onTimeout] (D:\home\site\wwwroot\server.js:260383:25) at Timeout.data.args.(anonymous function) [as _onTimeout] (D:\home\site\wwwroot\server.js:260383:25): D:\home\site\wwwroot\server.js at Timeout.data.args.(anonymous function) [as _onTimeout] (D:\home\site\wwwroot\server.js:260383:25): 260383) at ontimeout (at ontimeout (timers.js:365:14)at ontimeout (timers.js:365:14): timers.js at ontimeout (timers.js:365:14): 365) at tryOnTimeout (at tryOnTimeout (timers.js:237:5)at tryOnTimeout (timers.js:237:5): timers.js at tryOnTimeout (timers.js:237:5): 237) at Timer.listOnTimeout (at Timer.listOnTimeout (timers.js:207:5) at Timer.listOnTimeout (timers.js:207:5): timers.js at Timer.listOnTimeout (timers.js:207:5): 207)

Não tenho certeza se @ aniltomar10 também está enfrentando o mesmo problema ou não, mas achei que poderia ser relevante neste caso.

Quando executo o serviço localmente na minha máquina de desenvolvimento, tudo funciona bem. Ele começa a falhar quando implanto o serviço no serviço de aplicativo azure.

Detalhes do ambiente:
Versão NodeJS: 8.11.1
Versão tediosa: 4.1.1

Deixe-me saber se posso adicionar mais detalhes.

Obrigado,
Shahnaz.

Outra atualização:
Com base no erro, fiz uma bifurcação e fiz uma pequena alteração no arquivo connection.js para adicionar o evento ausente no estado de autenticação alimentado:
'routingChange' no estado 'SentLogin7Withfedauth'
e então as coisas parecem funcionar bem e meu serviço no azure app service env também é capaz de se conectar ao servidor e obter dados. Veja para referência:
https://github.com/shani117/tedious/commit/0777bf6f5ad7f1701a355f8e706fd0ce5120eda4

Ainda não estou pronto para fazer uma RP, mas só queria divulgar para ver se estou seguindo o caminho certo ou não.

Feedback apreciado.

@ shani117 Oh, uau, sim, acho que você encontrou a causa raiz desse problema! Vou ver se consigo abrir um PR com suas alterações amanhã para consertar isso corretamente. Muito obrigado! 🙇

: tada: Este problema foi resolvido na versão 4.1.2: tada:

O lançamento está disponível em:

Seu bot de lançamento semântico : package :: rocket:

Esta página foi útil?
0 / 5 - 0 avaliações