【问题标题】:setup mssql database pool connection with the node-mssql module使用 node-mssql 模块设置 mssql 数据库池连接
【发布时间】:2019-08-27 04:47:04
【问题描述】:

我想为我的项目使用 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();

我的数据库配置:

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',
};

MSSQL Studio 我将认证方式改为SQL Server Authentication

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

尝试运行代码时出现错误

ConnectionError: 无法连接到 localhost:1433 - 无法 连接(顺序)

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

server: process.env.DB_SERVER || 'localhost\\AP-MHERMSEN',

但这会引发同样的错误

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

出了什么问题或遗漏了什么?

【问题讨论】:

    标签: node.js sql-server


    【解决方案1】:

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

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

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

    3. 确保 SQL Browser 服务正在运行。

    如果您在任何步骤中遇到问题,请告诉我。

    【讨论】:

    • 您好,感谢您的回复。我将端口1433 添加到我的防火墙。我通过配置管理器启用了TCP/IP,并将SQL Browser 设置为自动。但我找不到Tab IP / IPALL
    • 请使用下面的链接并分配端口。向下滚动 TCP/IP 属性>IP 地址选项卡直到底部。 blog.sqlauthority.com/2018/07/24/…
    • 还是一样吗?在重试之前您是否尝试过重启服务?
    猜你喜欢
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 2018-03-26
    • 2015-06-24
    • 1970-01-01
    相关资源
    最近更新 更多