【发布时间】:2019-08-07 09:07:32
【问题描述】:
我正在尝试使用 knex 与我的 node.js 应用程序中的 Windows 身份验证连接 SQL Server。
配置:
{
client: 'mssql',
connection: {
database: 'MyDBName',
host: 'xx.xx.xx.xxx',
server: 'MY-SERVER_NAME\\SQLEXPRESS',
options: {
encrypt: false,
trustedConnection: true,
},
},
}
我没有在配置中添加用户名和密码,因为我为 Windows 身份验证添加了trustedConnection: true。
但我收到以下错误:
用户 '' 登录失败。
即使我添加了添加用户名和密码,我也会收到同样的错误。
任何建议都会有很大帮助。谢谢
【问题讨论】:
-
这意味着运行代码的帐户没有连接权限。您是否尝试过使用 SSMS 或 Azure Data Studio 连接到服务器(尽管名称如此,但无论它在哪里运行,它都是 SQL Server 的跨平台数据库客户端)
-
我确实有权限。我可以使用 Windows 凭据从 SQL Server Management Studio 访问。我认为我的 nodejs 应用程序无法获得凭证
-
BTW ADS 基于 VS Code,即基于 Electron,即 Node.js。
-
我不知道 Azure Data Studio
-
您使用的是哪些软件包和版本?您的目标是哪个 SQL Server 版本?
knex使用mssql,而后者又使用tedious或msnodesqlv8。您可以直接使用两个驱动程序之一来查看它们是否可以连接。它是负责实际连接的人之一。这样您就可以隔离问题并检查是否存在已知错误或更新版本
标签: node.js sql-server connection-string windows-authentication knex.js