无法连接到数据库 – EADDRNOTAVAIL

我有一个简单的node.js应用程序无法连接到SQL Db。

Web服务器是Azure Web App,运行node.js并使用Tedious for SQL。 数据库是Azure SQL数据库。

这是详细的错误:

{message:'无法连接到xxx.database.windows.net:1433 – undefined',代码:'ESOCKET'}

星期四2016年1月14日星期三08:05:05 GMT + 0000(世界协调时间):无任何exception:ConnectionError:连接丢失 – 在Connection处连接EADDRNOTAVAIL 。 (D:\ home \ site \ api \ node_modules \ tedious \ lib \ connection.js:797:26)。 (net.js:301:14)上的Socket.emit(events.js:88:20)上的(D:\ home \ site \ api \ node_modules \ tedious \ lib \ connection.js:33:15)在EventEmitter._tickCallback(node.js:190:38)

它适用于我的机器,有趣的是,这也适用于另一个Azure Web应用程序! 我试图重新启动这个networking应用程序,什么不…什么是这个错误的意思?

我试图重现这个问题,但失败了。 所以我search了一些像EADDRNOTAVAIL这样的KeyJava和Tedious的keyworks,然后我find了页面https://github.com/nodejs/node-v0.x-archive/issues/6833

它激发了我,这个问题可能是在某个指定的版本节点上引起的。 您可以在URL https://<the_bad_webapp_name>.scm.azurewebsites.net/Envfind坏WebApp的节点版本,并与罚款进行比较。

您可以在Node WebApp的URL https://<node webapp name>.scm.azurewebsites.net/api/diagnostics/runtime中看到Azure支持的alll节点版本。

如果他们的节点版本不同,你可以尝试指定节点版本的Tedious对于不好的webapp可以正常工作,请参考文档https://azure.microsoft.com/en-us/documentation/articles/nodejs-specify -node-version-azure-apps /要知道如何去做。

希望能帮助到你。