Tedious: 连接错误:无法连接到<server name="">在 15000 毫秒内 #833</server>

创建于 2018-12-05  ·  5评论  ·  资料来源: tediousjs/tedious

重新打开这个问题。
https://github.com/tediousjs/tedious/issues/833

我试过 tedious-connection-pool 和 node-mssql 模块都抛出同样的错误。

最有用的评论

另一个更新:
根据错误,我分叉并在 connection.js 文件中进行了一些小的更改,以在馈送身份验证状态中添加丢失的事件:
'routingChange' 状态为 'SentLogin7Withfedauth'
然后事情似乎工作正常,我在 azure app service env 中的服务也能够连接到服务器并获取数据。 见参考:
https://github.com/shani117/tedious/commit/0777bf6f5ad7f1701a355f8e706fd0ce5120eda4

我还没有准备好做 PR,但只是想把它拿出来看看我是否走上了正确的道路。

反馈表示赞赏。

所有5条评论

@aniltomar10

尝试使用 AAD 身份验证连接到 SQL Azure DB 时,我也面临同样的问题。 我的服务还连接到另一个仅使用 SQL 身份验证的 SQL Azure DB,并且该连接工作正常。 只有 AAD 身份验证失败。 当我进行一些日志流捕获时,我看到每次连接尝试超时之前都会抛出此错误:

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)

这是我记录到应用洞察中的异常堆栈跟踪:

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)

我不确定@aniltomar10是否也面临同样的问题,但我认为在这种情况下可能是相关的。

当我在我的开发机器上本地运行该服务时,一切正常。 当我将服务部署到 azure 应用服务时,它开始失败。

环境细节:
NodeJS 版本:8.11.1
乏味的版本:4.1.1

如果我可以添加更多详细信息,请告诉我。

谢谢,
沙纳兹。

另一个更新:
根据错误,我分叉并在 connection.js 文件中进行了一些小的更改,以在馈送身份验证状态中添加丢失的事件:
'routingChange' 状态为 'SentLogin7Withfedauth'
然后事情似乎工作正常,我在 azure app service env 中的服务也能够连接到服务器并获取数据。 见参考:
https://github.com/shani117/tedious/commit/0777bf6f5ad7f1701a355f8e706fd0ce5120eda4

我还没有准备好做 PR,但只是想把它拿出来看看我是否走上了正确的道路。

反馈表示赞赏。

@shani117哇哦,是的,我想你已经找到了这个问题的根本原因! 我会看看我明天是否可以用你的更改打开一个 PR 来正确修复这个问题。 非常感谢! 🙇

:tada: 这个问题已经在 4.1.2 版本中解决了:tada:

该版本可在:

你的语义发布机器人 :package::rocket:

此页面是否有帮助?
0 / 5 - 0 等级