我有一个简单的node.js应用程序无法连接到SQL Db。
Web服务器是Azure Web App,运行node.js并使用Tedious进行SQL。 DB是Azure SQL数据库。
这是详细错误:
{ 消息:'无法连接到xxx.database.windows.net:1433 - undefined', 代码:'ESOCKET'}
Thu Jan 14 2016 08:05:05 GMT + 0000(世界协调时间):未捕获异常:ConnectionError:连接丢失 - 连接 EADDRNOTAVAIL 在Connection。 (d:\家\网站\ API \ node_modules \繁琐\ LIB \ connection.js:797:26) 在Socket。 (d:\家\站点\ API \ node_modules \乏味\ lib中\ connection.js:33:15) 在Socket.emit(events.js:88:20) 在Array.1(net.js:301:14) 在EventEmitter._tickCallback(node.js:190:38)
它适用于我的机器,有趣的是它也适用于另一个Azure Web App!我尝试重新启动这个网络应用程序,什么不是......这个错误是什么意思?
答案 0 :(得分:2)
我试图重现这个问题,但失败了。所以我搜索了一些像EADDRNOTAVAIL
这样的关键字,用于NodeJS&单调乏味,然后我找到了页面https://github.com/nodejs/node-v0.x-archive/issues/6833。
这让我觉得这个问题可能是在某些指定的版本节点上引起的。您可以在网址https://<the_bad_webapp_name>.scm.azurewebsites.net/Env
找到错误WebApp的节点版本,并与精细版本进行比较。
您可以在Node WebApp的网址
https://<node webapp name>.scm.azurewebsites.net/api/diagnostics/runtime
上看到Azure支持的alll node版本。
如果他们的节点版本不同,您可以尝试为糟糕的webapp指定Tedious的节点版本,但请参阅文档https://azure.microsoft.com/en-us/documentation/articles/nodejs-specify-node-version-azure-apps/以了解如何操作。
希望它有所帮助。