node.js 未使用 SQL Server 身份验证连接到 SQL Server 数据库

标签 node.js sql-server sql-server-authentication

我正在使用 node.js 和 mssql 包通过 SQL Server 身份验证连接到 SQL Server 数据库。当我尝试使用具有相同凭据的 SQL Server Management Studio 进行连接时,它工作正常。但是,使用 Node.js,我无法登录并收到错误代码 ELOGIN 和连接错误。

我已经尝试了谷歌中显示的许多示例,但我遇到了同样的问题。 让我知道我错过了什么。这是我的代码片段。

代码从这里开始

var sql = require('mssql');
var config = {
  server: 'scaXXXXXXXXXXXX',
  database: 'scaXXXXXXXXXX',
  user: 'svcXXXXXXX',
  password: 'Password',
  port: 1433
};

function listProducts() {
  var conn = new sql.ConnectionPool(config);
  conn.connect().then(function () {
  var request = new sql.Request(conn);
  request.query("select top 1 * from dbo.Persons").then(function 
  (recordSet) {
        console.log(recordSet);
        conn.close();
    }).catch(function (err) {
        console.log(err);
        conn.close();
    });
   }).catch(function (err) {
    console.log(err);
   });
 }

listProducts();

这是运行此代码时的错误:

ConnectionError: Login failed for user 'svcXXXXXXX'.

at Connection.tedious.once.err (C:\aws\node_modules\mssql\lib\tedious.js:244:17)
at Object.onceWrapper (events.js:277:13)
at Connection.emit (events.js:189:13)
at Connection.processLogin7Response (C:\aws\node_modules\tedious\lib\connection.js:1397:14)
at Connection.message (C:\aws\node_modules\tedious\lib\connection.js:1932:14)
at Connection.dispatchEvent (C:\aws\node_modules\tedious\lib\connection.js:1084:36)
at MessageIO.messageIo.on (C:\aws\node_modules\tedious\lib\connection.js:984:14)
at MessageIO.emit (events.js:189:13)
at Message.message.on (C:\aws\node_modules\tedious\lib\message-io.js:32:14)
at Message.emit (events.js:194:15)

code: 'ELOGIN',
originalError: { ConnectionError: Login failed for user 'svcXXXXXXX'.
at ConnectionError (C:\aws\node_modules\tedious\lib\errors.js:13:12)
at Parser.tokenStreamParser.on.token (C:\aws\node_modules\tedious\lib\connection.js:735:29)
at Parser.emit (events.js:189:13)
at Parser.parser.on.token (C:\aws\node_modules\tedious\lib\token\token-stream-parser.js:27:14)
at Parser.emit (events.js:189:13)
at addChunk (C:\aws\node_modules\readable-stream\lib_stream_readable.js:297:12)
at readableAddChunk (C:\aws\node_modules\readable-stream\lib_stream_readable.js:279:11)
at Parser.Readable.push (C:\aws\node_modules\readable-stream\lib_stream_readable.js:240:10)
at Parser.Transform.push (C:\aws\node_modules\readable-stream\lib_stream_transform.js:139:32)
at doneParsing (C:\aws\node_modules\tedious\lib\token\stream-parser.js:80:14)

message: 'Login failed for user \'svcXXXXXXX\'.',
code: 'ELOGIN' }, name: 'ConnectionError' }

我希望从数据库中提取并显示一条记录。

最佳答案

您的登录信息似乎不正确。 您是否写了正确的用户名和密码?

如果您的登录信息正确,请检查登录信息是否有权从外部环境连接

关于node.js 未使用 SQL Server 身份验证连接到 SQL Server 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55770075/

相关文章:

node.js - 如何在 binding.gyp node-gyp 中为 node.js 扩展添加对静态库的依赖

node.js - Postgre 的 BeforeCreate 钩子(Hook)不使用 bcryptjs 对密码进行哈希处理

c# - SqlConnection SqlCommand SqlDataReader IDisposable

sql-server - 从 SQL Server 中的多表连接生成 XML

sql - 递归公用表表达式的递归部分不允许使用 TOP 或 OFFSET 运算符

sql-server - 使用 Azure Active Directory 凭据连接本地 SQL Server 数据库

javascript - 如何用 Node js 中的新数据覆盖我的 xlsx 工作表数据

node.js - nodeunit 测试和trace.gl