Я не уверен, почему это происходит. Следующий скрипт завершается неудачно при попытке использовать указанную c учетную запись домена, которая имеет доступ к базе данных, указанной в атрибуте config «database».
Я запускаю скрипт из командной строки, которую я запустил под той же учетной записью, которой требуется доступ к базе данных.
Я могу подключиться с помощью учетных данных этой учетной записи к MS SQL Management Studio (и могу получить доступ к указанной базе данных), а также получить доступ к ней с помощью этих учетных данных с помощью MS SqlClient .
Наконец, если я переключу учетные данные в этом сценарии на свои и запусту сценарий под своей учетной записью, он будет работать, как и ожидалось.
Единственная мыслимая переменная, о которой я могу думать, это «настоящее» имя пользователя содержит пробел (я его не создавал, моя центральная служба безопасности сделала так, чтобы у меня не было никакого контроля над этим). Это что-то вроде "XY- SQL -APP RW". Я сомневаюсь, что это как-то связано с этим, но просто выбрасываю его туда.
Точная ошибка, которую я получаю: «ConnectionError: Ошибка входа для пользователя 'DOMAIN \ XT- SQL -APP RW'. Полная ошибка появляется после кода.
Я в замешательстве, потому что, если я не могу заставить это работать, мне придется встраивать это приложение. Net, когда остальная часть приложения Javascript (Vue. js & Node). Это конкретное приложение должно было быть API.
var Connection = require("tedious").Connection;
var Request = require("tedious").Request;
var TYPES = require("tedious").TYPES;
("use strict");
var config = {
server: "SERVER",
authentication: {
type: "ntlm",
options: {
domain: "DOMAIN",
userName: "xxxxxxxx,
password: "xxxxxxxx",
intanceName: "INSTANCENAME"
}
},
options: {
database: "DBNAME",
trustServerCertificate: true,
encrypt: true
}
};
var cn = new Connection(config);
console.log(cn.config.authentication.options);
cn.on("connect", err => {
if (err) {
console.log(err);
} else {
console.log("CONNECTED");
}
});
Full error message:
{ ConnectionError: Login failed for user 'PERS\XT-SQL-APP RW'.
at ConnectionError (c:\Projects\apis\b50api\node_modules\tedious\lib\errors.js:13:12)
at Parser.tokenStreamParser.on.token (c:\Projects\apis\b50api\node_modules\tedious\lib\connection.js:853:51)
at emitOne (events.js:116:13)
at Parser.emit (events.js:211:7)
at Parser.parser.on.token (c:\Projects\apis\b50api\node_modules\tedious\lib\token\token-stream-parser.js:37:14)
at emitOne (events.js:116:13)
at Parser.emit (events.js:211:7)
at addChunk (c:\Projects\apis\b50api\node_modules\readable-stream\lib\_stream_readable.js:298:12)
at readableAddChunk (c:\Projects\apis\b50api\node_modules\readable-stream\lib\_stream_readable.js:280:11)
at Parser.Readable.push (c:\Projects\apis\b50api\node_modules\readable-stream\lib\_stream_readable.js:241:10)
message: 'Login failed for user \'PERS\\XT-SQL-APP RW\'.',
code: 'ELOGIN' }