0

我尝试使用 msnodesql 到 Azure SQL 数据库在 Azure Web 应用程序上运行 node.js 代码,但它失败了。

我检查了评论(node.js + azure sql database),但它还没有工作。

现在我通过站点上的“控制台”工具检查了 Azure 上的节点版本,它显示为 v4.2.3。我了解 msnodesql ( https://www.npmjs.com/package/msnodesql ) 现在支持节点 v0.8 或 v0.6。

我怀疑它们的版本不匹配可能是失败的原因。我在本地 PC 上安装了节点 v4.2.3,然后我可以使用 v0.6 和 v0.8 msnodesql (sqlserver.node) 重现此问题。

有人有解决方法吗?我找不到降级 Azure node.js 的方法。


(2016/1/20)

感谢@PeterPan,我终于可以在 Azure 上运行带有“乏味”模块的程序了。非常感谢你。

我没有尝试,但我可以指定 Node.js 版本以使用模块 msnodesql,根据https://azure.microsoft.com/en-us/documentation/articles/nodejs-specify-node-version-azure-应用程序/#using-a-custom-version-with-azure-websites

但是,我仍然想知道哪种方式更好,Node v4.2.3 乏味,Node v4.2.3 使用 msnodesqlv8(我还不确定它是否有效),或者 Node v0.8 使用 msnodesql/msnodesqlv8。

我想在另一个线程中讨论这个问题。

4

1 回答 1

0

您可以尝试在项目文件中指定 NodeJS 版本(在https://your_web_app_name.scm.azurewebsites.net/api/diagnostics/runtime的 json 列表中)package.json,如下所示。

"engines":{"node": "0.6.22 || 0.8.x"}

或者您可以尝试参考Using a custom version with Azure WebsitesAzure 官方文档在 Azure 应用程序中指定 Node.js 版本以使用自定义版本的部分。

如果你不必使用 package node-sqlserver,你也可以尝试使用Tedious没有依赖的纯 JavaScript 驱动。您可以参考文档https://azure.microsoft.com/en-us/documentation/articles/sql-database-develop-nodejs-simple-windows/了解如何使用它。

注意:在 Azure 上,NodeJS 的一些模块在安装时编译,通常使用 Python 和 node-gyp,就像node-sqlserver它是使用 Microsoft ODBC 驱动程序的原生 C 驱动程序一样。如果遇到此类问题,可以参考Native Modules文档Using Node.js Modules with Azure applications的部分。

于 2016-01-18T07:42:01.217 回答