2

SQL Db に接続できない単純な node.js アプリがあります。

Web サーバーは Azure Web アプリであり、node.js を実行し、Tedious for SQL を使用します。DB は Azure SQL データベースです。

これは詳細なエラーです:

{ メッセージ: 'xxx.database.windows.net:1433 への接続に失敗しました - 未定義'、コード: 'ESOCKET' }

Thu Jan 14 2016 08:05:05 GMT+0000 (協定世界時): Unaught exception: ConnectionError: Connection lost - ConnectionでEADDRNOTAVAIL を接続します。(D:\home\site\api\node_modules\tedious\lib\connection.js:797:26) ソケットで。(D:\home\site\api\node_modules\tedious\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 アプリでも動作します! この Web アプリを再起動しようとしましたが、そうではありません... このエラーはどういう意味ですか?

4

1 に答える 1

2

問題を再現しようとしましたが、失敗しました。そこで、NodeJS や Tedious などのキーワークを検索したところ、 https://github.com/nodejs/node-v0.x-archive/issues/6833EADDRNOTAVAILというページが見つかりました。

特定のバージョンのノードで問題が発生している可能性があることに気づきました。url で悪い WebApp のノード バージョンを見つけてhttps://<the_bad_webapp_name>.scm.azurewebsites.net/Env、良いものと比較できます。

https://<node webapp name>.scm.azurewebsites.net/api/diagnostics/runtimeAzure でサポートされているすべてのノード バージョンは、Node WebAppの URL で確認できます。

それらのノード バージョンが異なる場合は、悪い Web アプリケーションに対して Tedious のノード バージョンが正常に動作するように指定することができます。ドキュメントhttps://azure.microsoft.com/en-us/documentation/articles/nodejs-specifyを参照してください。 -node-version-azure-apps/でその方法を確認してください。

それが役に立てば幸い。

于 2016-01-29T11:20:45.453 に答える