Можно ли подключиться к ms sql в режиме аутентификации windows из приложения nodejs, работающего на linux? - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь подключиться к ms sql с Windows режимом аутентификации (не могу это изменить) с nodejs, работающим на linux машине. Я перепробовал много вещей, все они привели к почти одинаковой ошибке, вот попытка использования утомительного с этим простым кодом, работающим на linux машине с nodejs:

let tedious = require('tedious');
let Connection = tedious.Connection;
const config = {
    userName: 'myUserName', 
    password: 'myPassword', 
    server: 'MyServ',
    options: {
        database: 'MyDbName'
    }
}

function handleConnection(err: any) {
    if (err) console.error("error connecting :-(", err);
    else console.log("successfully connected!!")
}

let connection = new Connection(config);
connection.on('connect', handleConnection);

Я получаю эту ошибку

error connecting :-( { ConnectionError: Login failed for user ''. 
at ConnectionError (./node_modules/tedious/lib/errors.js:13:12) 
at Parser.tokenStreamParser.on.token (./node_modules/tedious/lib/connection.js:848:51) 
at Parser.emit (events.js:198:13) 
at Parser.parser.on.token (./node_modules/tedious/lib/token/token-stream-parser.js:37:14) 
at Parser.emit (events.js:198:13) 
at addChunk (./node_modules/readable-stream/lib/_stream_readable.js:298:12) 
at readableAddChunk (./node_modules/readable-stream/lib/_stream_readable.js:280:11) 
at Parser.Readable.push (./node_modules/readable-stream/lib/_stream_readable.js:241:10) 
at Parser.Transform.push (./node_modules/readable-stream/lib/_stream_transform.js:139:32) 
at doneParsing (./node_modules/tedious/lib/token/stream-parser.js:122:14) message: 'Login failed for user \'\'.', code: 'ELOGIN' }

Использованные мной учетные данные имеют права SQL (протестировано с ODB C на windows машине). Я что-то не так делаю или это просто невозможно?

1 Ответ

1 голос
/ 30 января 2020

@ ADyson большое спасибо за вашу информацию, вам удалось точно определить решение моей плохо сформулированной проблемы, вызванной моим полным отсутствием знаний по этому вопросу, еще раз большое спасибо. решение состояло в том, чтобы использовать регистрацию в домене, этот фрагмент работал:

const config = {
    user: MyUserName,
    password: MyPassword,
    server: 'MyServAdress',
    database: 'MyDbName,
    domain: 'MyDomain'
}

const sql = require('mssql');
sql.connect(config).then((pool: any) => {
    console.log('connected!');
}).catch((err: any) => {
    console.log(err);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...