ConnectionError: Failed to connect to localhost:undefined in 15000ms

ConnectionError: Failed to connect to localhost:undefined in 15000ms

我正在使用 KnexJs 尝试连接到本地 Microsoft SQL Server Express。但是,使用以下配置,我收到错误。我已按照典型步骤操作,但仍然出现错误。

我尝试过的:

  1. 为数据库设置SQL服务器身份验证登录
  2. 在服务器上启用SQL服务器身份验证
  3. 在服务器上启用 TCP/IP
  4. 重新启动 Windows 服务
  5. 通过 SQL Server Management Studio
  6. 重新启动 SQL 服务器
  7. 验证通过 SQL Server Management Studio 登录的能力

配置/查询代码:

    let mssql = knex({
        client: 'mssql',
        connection: {
          host: 'localhost\sqlexpress',
          user: 'test',
          password: 'test',
          database: 'AdventureWorks2017',
          // port:1433,
          // options: {
          //   trustedConnection: true
          // },
          useNullAsDefault: true
        }
      });

    mssql.raw('select 1 as result').then(function (result) {
      console.log('result');
      console.log(result);
      mainWindow.webContents.send('testConnectionResponse', result === 1);
      event.sender.send('testConnectionResponse', result === 1);
    }).catch(function (err) {
      console.log(err);
      mainWindow.webContents.send('query-error', err);
    }).finally(() => {
      mssql.destroy();
    });

错误:

ConnectionError: Failed to connect to localhost:undefined in 15000ms

事实证明,我还需要像这样启用 SQL Server Browser windows 服务:

  1. 导航到 "Services"
  2. Select "Properties" 在 "SQL Server Browser"
  3. 翻转"Start up type"到"Automatic"
  4. 启动服务

成功!