【问题标题】:How can I connect my node app to my azure sql database?如何将我的节点应用程序连接到我的 azure sql 数据库?
【发布时间】:2015-11-28 06:53:24
【问题描述】:

我使用了微软提供的这个教程,我可以连接到数据库,但是当我进入它的 SELECT 部分时,我得到了这个错误:

{[RequestError: Requests can only be made in the LoggedIn state, not the SentLogin7WithStandardLogin state]

message:'Requests can only be made in the LoggedIn state, not the SentLogin7WithStandardLogin state', code:'EINAVALIDSTATE'}

正如指南所说,我正在使用 npm modulte Tedious,但我无法解决这个问题。

这是教程Link.

【问题讨论】:

  • 请添加您尝试过的代码,而不是您遵循的教程。

标签: sql node.js azure tedious


【解决方案1】:

这是一个已知的繁琐问题,最常见的因素之一是在 Azure SQL 之上启用了 Windows 身份验证。

1 - 不要在域属性中使用 FQDN。如果是“company.com”,请使用“COMPANY” 2 - 大写似乎也很重要。使用所有 CAPS 域名 3 - 不要使用限定用户名(即“user.name@company.com”),只使用“user.name”

生成的 Config 可能看起来像

var config = {
    "userName": "user.name",
    "password": "password",
    "server": "servername",
    "domain": "DOMAIN_NAME_CAPITALIZED_AND_NOT_FQDM",
    "options": {
        "encrypt": false
    }
};

【讨论】:

    【解决方案2】:

    如果我从 Azure SQL 入站规则中删除我当前的客户端 IP,我可能会遇到同样的问题。主要问题是您的客户端 ip 被 Azure SQL 防火墙阻止。

    登录Azure manage portal,在列表页面点击你的Azure SQL数据库实例,点击你的Azure SQL服务器:

    CONFIGURE页面中,您可以在“允许的IP地址”部分下的列表中看到您当前的客户端IP,单击箭头按钮将您的IP添加到Azure SQL Server的防火墙规则中,单击保存底部导航栏中的按钮以保存修改。

    然后你可以再次测试你的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 2022-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-26
      • 1970-01-01
      相关资源
      最近更新 更多