使用node-mssql模块设置mssql数据库池连接

hrp*_*xQ4 8 sql-server node.js

我想为我的项目使用mssql数据库。我使用了node-mssql模块(https://www.npmjs.com/package/mssql),并使用Microsoft SQL Server Management Studio 17进行数据库管理。

执行某些查询时,我不想多次连接到数据库,所以我想创建一个池来与数据库建立永久连接。

我的数据库管理器模块:

const sql = require('mssql');
const db = require('../config/database.js');
const pool = new sql.ConnectionPool(db).connect();
Run Code Online (Sandbox Code Playgroud)

我的数据库配置:

module.exports = {
    user: process.env.DB_USER || 'sa',
    password: process.env.DB_PASS || '-- myPassword --',
    server: process.env.DB_SERVER || 'localhost',
    database: process.env.DB || 'local_demo_cobra',
};
Run Code Online (Sandbox Code Playgroud)

MSSQL Studio我将身份验证模式更改为SQL Server身份验证

在此处输入图片说明

在这里您可以看到服务器管理的数据库

在此处输入图片说明

尝试运行代码时出现错误

ConnectionError:无法连接到本地主机:1433-无法连接(顺序)

该数据库在我自己的系统上运行,因此localhost应该可以使用。我还尝试将服务器配置更改为

server: process.env.DB_SERVER || 'localhost\\AP-MHERMSEN',
Run Code Online (Sandbox Code Playgroud)

但这会引发相同的错误

ConnectionError:无法连接到localhost \ AP-MHERMSEN

有什么问题或遗漏?

小智 1

了解您尝试在本地连接到新安装的 MSSQL。请您检查以下内容:

  1. 确保防火墙端口 1433 已打开并正在侦听。如何检查 > 从 CMD 中输入 netstat -an

  2. 启动 SQL Server 配置管理器,展开 SQL Server 网络配置,右键单击 SQLEXPRESS 协议,右键单击 TCP/IP(确保已启用),在选项卡 IP 地址下,向下滚动查找底部的 IPAll,确保 TCP 端口为配置为1433。

  3. 确保 SQL 浏览器服务正在运行。

如果您遇到任何步骤,请告诉我。