【问题标题】:Node.JS: Cannot connect to Microsoft Azure Database when using SequelizeNode.JS:使用 Sequelize 时无法连接到 Microsoft Azure 数据库
【发布时间】:2019-05-31 14:11:26
【问题描述】:

我正在尝试使用 express + Sequelize 连接 Azure 数据库。我无法连接到工作。

我已经像这样修改了database.json连接文件:

"development": {
    "username": "XXX",
    "password": "XXX",
    "database": "XXX",
    "host": "XXX",
    "dialect": "mssql",
    "port": 1433,
    "dialectOptions": {
      "encrypt": true
    }
  }

我尝试像这样连接续集

  sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
  sequelize = new Sequelize(config.database, config.username, config.password, config);
}

我收到错误消息: https://i.imgur.com/FQdZCeZ.png

如果我直接更改 Sequelize 连接而不使用 JSON 文件并像这样连接它:

sequelize = new Sequelize('XXX', 'XXX', 'XXX', { host: 'XXX', dialect: 'mssql', dialectOptions: { options: { encrypt: true } } });

我收到关于用户名为空的错误: https://i.imgur.com/JbkOgIU.png

我已尝试与 MySql 连接,一切正常。只有在连接到 Azure 数据库时才会出现问题。任何帮助都会很棒!谢谢。

【问题讨论】:

    标签: node.js sql-server sequelize.js


    【解决方案1】:

    我连接如下。有用。

       const sequelize = new Sequelize(database, username, password, {
      host: config.databaseHost,
      Port: config.databasePort, // 49175 // 1433
      dialect: 'mssql',
    
      pool: {
        max: 5,
        min: 0,
        idle: 10000
      },
      dialectOptions: {
        instanceName: 'SQLEXPRESS',
        requestTimeout: 60000
      }
    });
    sequelize
      .authenticate()
      .then(() => {
        console.log('Connection has been established successfully.');
      })
      .catch(err => {
        console.error('Unable to connect to the database:', err);
      });
    

    【讨论】:

    • 谢谢!嗯,奇怪。我仍然收到“SequelizeConnectionError:服务器需要加密,将“加密”配置选项设置为 true。”
    【解决方案2】:

    搞定了!我没有安装繁琐。确保一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 2020-08-09
      • 2017-11-17
      • 1970-01-01
      • 2016-03-22
      • 2022-01-18
      相关资源
      最近更新 更多