【问题标题】:Connect to SQL Azure from Node.JS从 Node.JS 连接到 SQL Azure
【发布时间】:2014-07-17 23:13:04
【问题描述】:

我有一个可以从 ASP.NET 连接到的数据库。我现在正在尝试通过 Node.js 连接到该数据库。我正在尝试做一些基准测试。在尝试通过 Node.js 连接到数据库时,我使用了mssql package。我的代码如下所示:

var sql = require('mssql');
var connectionString = {
    user: '[myUserName]',
    password: '[myPassword]',
    server: 'tcp:[serverName].database.windows.net',
    database: '[databaseName]',

    options: {
        encrypt: true // Use this if you're on Windows Azure
    }
};  

try {
  sql.connect(connectionString, function(err) {
    if (err) {
      console.log(err);
      return;
    }

    var request = new sql.Request();
    request.query('select top 5 from Logs', function(err, recordset) {
      if (err) {
        console.log(err);
        return;
      }
    });
  });
} catch (ex1) {

}

当我执行此代码时,我收到一条错误消息:

{ name: 'ConnectionError',
  message: 'Failed to connect to tcp:[serverName].database.windows.net:1433 - getaddrinfo ENOTFOUND',
  code: 'ESOCKET' }

我的问题是,如何从 Node.js 连接到 SQL Azure?我正在尝试运行基本查询。不幸的是,我觉得卡住了。我必须在我的连接字符串中做一些不正确的事情。非常感谢任何帮助。

【问题讨论】:

  • 我在 Azure 上部署的两个应用程序之一面临同样的问题。奇怪的是两者都在本地工作正常,但是当我推送它们时只有一个工作,尽管它们都有相同的配置/查询代码。
  • 你找到解决办法了吗?
  • 你在设置Azure数据库的时候设置了防火墙和路由器吗?以下帖子有一些可能会有所帮助的说明 - azure.microsoft.com/en-us/documentation/articles/…
  • 不,我可以在其他任何地方运行数据库时连接到数据库。此外,我什至可以在 .scm.azurewebsites.net 的命令行实用程序中运行示例节点脚本,它可以很好地连接到数据库。只有在运行 server.js 脚本时才使用我的测试脚本中的确切代码。
  • 在您对(现已删除的)答案的评论中,您提到您找到了解决此问题的方法。请添加您的答案,以便其他人可以从该知识中受益。添加答案后,您也可以等待 48 小时,如果没有其他人提供更好的答案,则选择您的答案作为正确答案。

标签: sql node.js azure


【解决方案1】:

这在很大程度上取决于您的节点版本,我下载包 msnodesqlv8 时遇到了同样的问题,经过几天的网络搜索后它工作得很好。语法有点不同,但该页面有非常好的示例。

https://www.npmjs.com/package/msnodesqlv8

【讨论】:

    猜你喜欢
    • 2013-03-06
    • 2016-01-17
    • 2021-03-30
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多