You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Sequelize配置连接Microsoft SQL Server?

使用Sequelize连接Microsoft SQL Server的完整配置方案

首先,你得先把必要的依赖包装全——除了sequelize,还需要安装SQL Server专属的驱动包tedious,执行下面的命令就行:

npm install sequelize tedious

我帮你把代码补全并优化了,解决了原代码里的截断问题和配置疏漏:

require('dotenv').config();
var express = require('express');
var app = express();
const Sequelize = require('sequelize');

// 初始化Sequelize连接实例
const sequelize = new Sequelize(
  process.env.DB_NAME,
  process.env.DB_USER, // 原代码填了null,这里要从环境变量取数据库用户名
  process.env.DB_PASSWORD, // 同理,密码也得从环境变量读取
  {
    dialect: 'mssql',
    host: `${process.env.DB_HOST}\\${process.env.DB_SERVER}`, // 用模板字符串拼接更清晰
    operatorsAliases: false,
    pool: {
      max: 5, // 连接池最大容纳连接数
      min: 0, // 最小空闲连接数
      acquire: 30000, // 获取连接的超时时间(毫秒)
      idle: 10000 // 连接空闲超时后自动释放(毫秒)
    },
    // SQL Server特有的配置项
    dialectOptions: {
      options: {
        encrypt: true, // 如果是Azure云SQL必须开启,本地环境可按需调整
        trustServerCertificate: true // 本地开发时可跳过证书验证,生产环境建议关闭
      }
    }
  }
);

// 测试数据库连接是否成功
async function testDBConnection() {
  try {
    await sequelize.authenticate();
    console.log('✅ 数据库连接成功!');
  } catch (error) {
    console.error('❌ 数据库连接失败:', error);
  }
}

testDBConnection();

// 后续可以继续配置你的Express业务路由
app.get('/', (req, res) => {
  res.send('服务器正常运行中');
});

app.listen(3000, () => {
  console.log('服务器已启动:http://localhost:3000');
});

关键配置说明:

  • 身份验证:原代码里的null,null会导致数据库拒绝连接,一定要在.env文件里配置好DB_USER和DB_PASSWORD
  • 连接池:补全了你截断的acquire参数,同时添加了idle参数,避免闲置连接占用资源
  • dialectOptions:针对SQL Server的特殊配置,比如加密和证书验证,根据你的部署环境(本地/云)灵活调整

配套的.env文件示例:

DB_NAME=你的数据库名称
DB_USER=数据库登录用户名
DB_PASSWORD=数据库登录密码
DB_HOST=数据库主机IP或域名(本地一般是localhost)
DB_SERVER=SQL Server实例名称(比如SQLEXPRESS)

内容的提问来源于stack exchange,提问作者devRena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:41:23