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

VS Code连接SSMS 18报connect ECONNREFUSED 3306错误如何解决

问题根因

你当前的核心错误是使用了MySQL专用的Node.js驱动包mysql尝试连接Microsoft SQL Server数据库,二者属于完全不同的数据库产品,通信协议、默认端口都不匹配:

  • MySQL默认端口是3306,也就是你报错里被拒绝连接的端口
  • MS SQL Server默认端口是1433,你本地运行的SQL Server服务根本没有监听3306端口,自然会抛出连接拒绝错误
具体解决步骤
  1. 卸载当前安装的MySQL驱动
npm uninstall mysql
  1. 安装MS SQL Server官方适配的Node.js驱动mssql
npm install mssql
  1. 替换为适配SQL Server的连接代码,示例如下:
const sql = require('mssql');

// 数据库连接配置
const dbConfig = {
    server: 'serverName', // 你的SQL Server实例地址,本地可以填localhost\\实例名
    user: 'userName', // 数据库登录用户名
    password: 'password', // 登录密码
    database: 'dbName', // 要连接的数据库名
    options: {
        encrypt: false, // 本地测试可以关闭加密,远程连接按需开启
        trustServerCertificate: true // 本地开发环境跳过证书验证
    }
};

// 建立连接
sql.connect(dbConfig).then(() => {
    console.log("Connected to SQL Server successfully");
    // 后续数据库操作写在这里
}).catch(err => {
    console.error("Connection failed: ", err);
}).finally(() => {
    sql.close();
});
额外排查项
  • 确认你SQL Server的实例是否开启了TCP/IP连接:打开SQL Server配置管理器 → 找到对应实例的网络配置 → 启用TCP/IP协议,重启SQL Server服务生效
  • 如果你使用的是命名实例,需要在server配置项填写格式为主机名\\实例名,同时确保SQL Server Browser服务正常运行
  • 检查本地防火墙是否放开了SQL Server的1433端口访问权限
  • 确认数据库的身份验证模式是混合验证(SQL Server和Windows身份验证模式),避免使用Windows账户登录时出现权限问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:18:03