【发布时间】:2019-09-10 05:03:10
【问题描述】:
我正在使用 node.js 和 mssql 包通过 SQL Server 身份验证连接到 SQL Server 数据库。当我尝试使用具有相同凭据的 SQL Server Management Studio 进行连接时,它工作正常。但是,使用 node.js,我无法登录并获得错误代码 ELOGIN 并出现连接错误。
我已经尝试了许多在 google 中显示的示例,但我也遇到了同样的问题。 让我知道我错过了什么。这是我的sn-p代码。
代码从这里开始
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:用户“svcXXXXXXX”登录失败。
在 Connection.tedious.once.err (C:\aws\node_modules\mssql\lib\tedious.js:244:17)
在 Object.onceWrapper (events.js:277:13)
在 Connection.emit (events.js:189:13)
在 Connection.processLogin7Response (C:\aws\node_modules\tedious\lib\connection.js:1397:14)
在 Connection.message (C:\aws\node_modules\tedious\lib\connection.js:1932:14)
在 Connection.dispatchEvent (C:\aws\node_modules\tedious\lib\connection.js:1084:36)
在 MessageIO.messageIo.on (C:\aws\node_modules\tedious\lib\connection.js:984:14)
在 MessageIO.emit (events.js:189:13)
在 Message.message.on (C:\aws\node_modules\tedious\lib\message-io.js:32:14)
在 Message.emit (events.js:194:15)代码:'ELOGIN',
originalError: { ConnectionError: Login failed for user 'svcXXXXXX'.
在 ConnectionError (C:\aws\node_modules\tedious\lib\errors.js:13:12)
在 Parser.tokenStreamParser.on.token (C:\aws\node_modules\tedious\lib\connection.js:735:29)
在 Parser.emit (events.js:189:13)
在 Parser.parser.on.token (C:\aws\node_modules\tedious\lib\token\token-stream-parser.js:27:14)
在 Parser.emit (events.js:189:13)
在 addChunk (C:\aws\node_modules\可读流\lib_stream_readable.js:297:12)
在 readableAddChunk (C:\aws\node_modules\readable-stream\lib_stream_readable.js:279:11)
在 Parser.Readable.push (C:\aws\node_modules\可读流\lib_stream_readable.js:240:10)
在 Parser.Transform.push (C:\aws\node_modules\可读流\lib_stream_transform.js:139:32)
在 doneParsing (C:\aws\node_modules\tedious\lib\token\stream-parser.js:80:14)消息:“用户 \'svcXXXXXXX\'登录失败。',
代码:'ELOGIN' },名称:'ConnectionError' }
我希望从数据库中提取并显示一条记录。
【问题讨论】:
-
我有同样的连接问题,凭据已经过验证,我能够使用它们通过 sqlcmd 连接到同一个 mssql 实例
标签: node.js sql-server sql-server-authentication