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

Node.js使用mssql包连接(localdb)\MSSQLLocalDB报实例查找错误怎么办

你的配置存在疏漏,并非mssql包的校验逻辑变更,错误根源是mssql默认会把server字段中反斜杠分隔的内容拆分为独立的服务器地址、实例名分别解析,而(localdb)属于本地特殊实例,无法被当作普通网络域名解析,才会触发ENOTFOUND报错。

修复方案

方式一:拆分实例名配置(通用方案)

修改连接配置,将实例名从server字段中拆分到options的instanceName参数中,同时补充SQL Server连接必需的配置项:

let sql = require('mssql');
sql.connect({
    server: '(localdb)',
    database: 'xxx',
    options: {
        trustedConnection: true,
        instanceName: 'MSSQLLocalDB', // 单独指定实例名
        trustServerCertificate: true, // 跳过本地证书校验
        enableArithAbort: true // 适配SQL Server默认配置要求
    }
}, function(err) {
    if(err) console.log(err);

    var request = new sql.Request();
    request.query('simple query', function(err, recordset) {
        if(err) console.log(err);
        res.send(recordset);
    })
})

方式二:适配Windows本地身份验证(可选,方式一不生效时使用)

如果你的运行环境是Windows系统,且修改配置后仍然报错,可安装Windows专属SQL Server驱动适配本地验证逻辑:

  • 先执行安装命令:npm install msnodesqlv8
  • 修改连接配置,指定驱动参数:
let sql = require('mssql/msnodesqlv8'); // 引入适配后的mssql包
sql.connect({
    server: '(localdb)\\MSSQLLocalDB', // 此处可直接写完整实例路径
    database: 'xxx',
    options: {
        trustedConnection: true,
        trustServerCertificate: true
    }
}, function(err) {
    // 后续查询逻辑不变
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:45:05