0

到目前为止,我在使用 NTLM 连接到 SQL Server 时运气不佳。

这是我的配置:

var config = {
  "userName": "username",
  "password": "password",
  "domain": "domain"
  "server": "server",

  "options": {
    "encrypt": true
  }
}

我可以使用域\用户名和密码登录到该服务器,但我无法使用繁琐的身份验证。我尝试了 tedious-ntlm 也没有太多运气。顺便说一句,我什至不需要 Windows 身份验证。只要繁琐可以与域对话并使用提供的用户名进行身份验证,我就会很成功。我不明白为什么它无法与域通信。我将 node.js 脚本放在同一台服务器上。

4

1 回答 1

2

NTLM 或集成安全性只能从与您尝试访问的 SQL Server 加入相同(或受信任)域的域的 Windows 计算机中使用。假设您的 node.js 脚本在已加入域的计算机上运行,​​那么您的连接字符串(或本例中的配置)将用“IntegratedSecurity:true”替换用户名和密码值。

如果 node.js 脚本在未加入域的计算机上运行,​​则您无法使用集成安全性。您需要像上面一样使用 SQL Auth。如果这不起作用,请检查您是否同时拥有 SQL Server 登录名以及映射到该登录名的数据库用户,该登录名具有对连接字符串中列出的数据库的访问权限。

希望有帮助。

于 2015-08-16T23:17:52.130 回答