Ошибка входа с использованием Express и Sequelize с SQL Server - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь использовать Sequelize (v 5.21.13) для подключения к базе данных моего SQL сервера в моем приложении Expressjs.

dbconfig. js

var dbConfig = {
    server: process.env.DB_HOST,
    authentication: {
        type: 'default',
        options: {
            userName: process.env.DB_USERNAME,
            password: process.env.DB_PASSWORD
        }
    },
    options: {
        database: process.env.DB_NAME
    }
};

module.exports = dbConfig;

index. js:

const dbConfig = require('./dbConfig');
const Sequelize = require('sequelize');

const connection = new Sequelize(
    dbConfig.options.database,
    dbConfig.authentication.options.userName,
    dbConfig.authentication.options.password,
    {
        host: dbConfig.server,
        dialect: 'mssql',

    }
);

connection.sync().then(() => {
    console.log('Connected!');
}).catch((e) => {
    console.log('Error:\n', e);
});

Дело в том, что каждый раз, когда я запускаю сервер, я получаю эту ошибку

AccessDeniedError [SequelizeAccessDeniedError]: Войти не удалось для пользователя 'master'.

Я также попытался добавить дополнительные свойства в new Sequelize (), как показано ниже, но безуспешно.

dialectOptions: {
    instanceName: 'instance',
    options: {
        encrypt: true,
        trustServerCertificate: true,
        requestTimeout: 30000
    }
}

Я даже пытался изменить пароль на очень простой, без специальных символов, соединение с Datagrip работает после изменения, но без использования Sequelize.

Все в объекте dbconfig правильно, поэтому я не вижу, в чем может быть проблема.

1 Ответ

0 голосов
/ 16 июня 2020

Решил. Я помещал идентификатор экземпляра db в качестве имени базы данных, я понял, что имя базы данных было другим. Изменил и теперь подключаюсь через Sequelize.

...