node.js не подключается к базе данных SQL Server с использованием аутентификации SQL Server

Я использую node.js и mssql пакет для подключения к базе данных SQL Server с использованием аутентификации SQL Server. Когда я пытаюсь подключиться с помощью SQL Server Management Studio с теми же учетными данными, все работает нормально. Однако, с помощью node.js я не могу войти в систему и получить код ошибки ELOGIN с ошибкой подключения.

Я пробовал много примеров, показанных в Google, и я столкнулся с той же проблемой. Дайте мне знать, что мне не хватает. Вот мой фрагмент кода.

Код начинается здесь

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)
at 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: сбой входа для пользователя 'svcXXXXXXX'.
в 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 \ readable-stream \ lib_stream_readable.js: 297: 12)
at readableAddChunk (C: \ aws \ node_modules \ readable-stream \ lib_stream_readable.js: 279: 11)
в Parser.Readable.push (C:\aws\node_modules\readable-stream\lib_stream_readable.js:240:10)
в 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)

сообщение: "Ошибка входа для пользователя \'svcXXXXXXX\'.',
код: 'ELOGIN' }, имя: 'ConnectionError' }

Я ожидаю, что одна запись из базы данных должна быть извлечена и отображена.

1 ответ

Похоже , ваши данные для входа не верны. вы написали правильное имя пользователя и пароль?

если ваши данные для входа верны, то проверьте, что данные для входа имеют полномочия для подключения из внешней среды

Попробуйте это. У меня это сработало. Если вы не работаете с базой данных localhost, вам необходимо находиться в этой сети. Убедитесь, что вы можете проверить связь с сервером базы данных.

var sql = require("mssql");
var moment = require("moment");
let port = process.env.PORT;
if (port == null || port == "") {
    port = 8000;
}

var config = {
    user: "xxxx",
    password: "xxxxx",
    server: "xxxxxx",
    database: "xxxx"
};

const dbconn = sql.connect(config, err => {
    if (!err) {
        console.log("Connected to the database");
    } else {
        console.log("Problem in connecting to database");
        console.log(err);
        console.log("testing ");
    }
});

app.get("/getSummaryDetails", (req, res) => {
    dbconn.query("exec QCGrid", (err, rows, fields) => {
        if (!err) {
            res.send(rows.recordsets[0]);
        }
    });
});
Другие вопросы по тегам