首页 > 解决方案 > 无法使用 mssql 和 expressjs 连接到 SQL Server 数据库

问题描述

我正在尝试使用 expressjs 从 expressjs 连接到 SQL Server 数据库mssql,但我不断收到以下信息:

错误

我正在关注https://www.npmjs.com/package/mssql#connections-1中的示例

我的 app.js 中的代码如下

const config = {
    //user: '',
    //password: '',
    server: 'LAPTOP-A7INMDKJ',
    database: 'dbone'
}   

sql.on('error', (err)=> {
    // error handler
});
sql.connect(config).then(
    (pool) =>{
        return pool.request()
                    .query('select * from course');
    }).
    then(result=> {
        console.log('dasdasdsa');
        console.log(result);
    }).
    catch( (err)=>{
        console.log(err);
    });

I 组件服务 我有这个

组件服务截图

并在计算机管理中启用 tcp/ip

电脑管理截图

我究竟做错了什么?我正在为 SQL Server 使用 Windows 身份验证。

标签: node.jssql-serverexpress

解决方案


正常的故障排除过程是验证:

  1. SQL Server 启用了 TCP/IP,并配置为在配置管理器中侦听端口 1433。
  2. SQL Server 正在运行,并且 SQL Server 错误日志有一个类似的条目Server is listening on [ 'any' <ipv4> 1433].
  3. Windows 防火墙未阻止端口 1433 上的入站 TCP 连接
  4. 客户端可以正确解析 SQL Server 的主机名
  5. 客户端可以通过 TCP/IP 连接到 SQL Server 上的端口 1433,例如通过 powershell 的Test-NetConnection -ComputerName [sqlserverhostname] -Port 1433

推荐阅读