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

使用Node.js的mssql/msnodesqlv8连接SQL Server生产服务器报ODBC驱动错误

Node.js使用msnodesqlv8连接SQL Server报错:ODBC驱动未找到

你的代码在本地运行正常,但生产服务器抛出[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified错误,核心原因是生产服务器未安装对应版本的SQL Server ODBC驱动,或者驱动架构与Node.js版本不匹配。以下是具体解决步骤:


解决步骤

1. 安装适配的SQL Server ODBC驱动

生产服务器必须安装与SQL Server版本匹配的ODBC驱动:

  • 若使用SQL Server 2012及以上版本,推荐安装ODBC Driver 17 for SQL Server
  • 注意匹配服务器系统架构(32位/64位):Node.js 18.x默认是64位,优先安装64位驱动

2. 验证驱动安装状态

打开ODBC数据源管理器确认驱动存在:

  • 64位系统:运行 C:\Windows\System32\odbcad32.exe
  • 32位系统:运行 C:\Windows\SysWOW64\odbcad32.exe
    切换到「驱动」标签页,确认能看到类似ODBC Driver 17 for SQL Server的条目。

3. 检查连接配置细节

  • 确认server字段格式正确:如果是命名实例,需写成服务器名\实例名(如WIN-XXXXXX\SQLEXPRESS);默认实例直接填服务器IP或主机名即可
  • 虽然启用了trustedConnection: true(Windows身份验证),但驱动缺失会直接阻断身份验证流程

4. 重新安装npm依赖

驱动未安装时,msnodesqlv8依赖可能安装不完整,需重新安装:
先卸载现有依赖:

npm uninstall mssql msnodesqlv8

驱动安装完成后,重新安装依赖:

npm install mssql msnodesqlv8

你提供的代码与报错信息

连接代码

const sql = require('mssql/msnodesqlv8')

const config = {
    user: 'user\\name',
    password: 'password',
    server: 'server',
    database: 'database',
    options: {
        trustedConnection: true,
        trustServerCertificate: true,
    },
};

sql.connect(config, function (err) {
    if (err) throw(err);
    console.log('connected')
});

报错信息

ConnectionError: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    at D:\services\nodejs\BIDVESTFM_Rental_Inspection_Upload_Processor\node_modules\mssql\lib\msnodesqlv8\connection-pool.js:56:17
    at Immediate.<anonymous> (D:\services\nodejs\BIDVESTFM_Rental_Inspection_Upload_Processor\node_modules\msnodesqlv8\lib\connection.js:145:15)
    at process.processImmediate (node:internal/timers:471:21) {
  code: undefined,
  originalError: [Error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified] {
    sqlstate: 'IM002',
    code: 0,
    severity: 0,
    serverName: '',
    procName: '',
    lineNumber: 0
  }
}

Node.js v18.13.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 12:45:01