1

我正在尝试连接到 SQL Server:

var sql = require("mssql");

var dbConfig = {
    server: "LAP12\\INSTANCE1",
    database: "SampleDb",
    port: 1433,
    options: {
        trustedConnection: true
    }
};

// connect to your database
sql.connect(dbConfig, function (err) {

    if (err) console.log(err);

    // create Request object
    var request = new sql.Request();

    // query to the database and get the records
    request.query('select * from SampleTable', function (err, recordset) {

        if (err) console.log(err)

        // send records as a response
        res.send(recordset);

    });
});

但我收到此错误:

ConnectionError:在 ServerName 中找不到 INSTANCE1 的端口...

我试图按照这里的说明https://github.com/patriksimek/node-mssql/issues/130,但这没有帮助。TCP 已启用。

将配置更改为此也无济于事:

var dbConfig = {
    server: "LAP12",
    port: 1433,
    options: {
        instanceName: 'INSTANCE1',
        database: 'SampleDb',
        trustedConnection: true,
    }
};
4

3 回答 3

1

好的,我有同样的问题,会尽力帮助。这是我的配置示例

const config = {
    user: 'sa',
    password: '****',
    server: 'DESKTOP-Q5TO47P',
    database: 'dbname',
    options: {           
        encrypt: false
    }
};

您需要打开 SQL Server 浏览器。转到启动菜单或搜索并查找 SQL Server 配置管理器。运行!(我使用的是 2018 版本)

  • 在左侧选项卡中单击 SQL Server 服务
  • 现在在右侧选项卡中双击 SQL Server Browser
  • 将打开一个窗口,您将看到 3 个选项卡,转到“服务”选项卡
  • 将启动模式更改为自动并应用
  • 左键单击 SQL Server Browser 并单击重新启动

  • 返回右侧选项卡单击 SQL Server 网络配置

  • 然后是客户端协议
  • 更改 TCP/IP 以启用

让我知道它是否有效。

于 2018-09-13T09:53:06.677 回答
0

在我的情况下,“SQL Browser”无法访问,因为防火墙端口未打开。我的解决方案是打开端口或将 dbConfig 更改为(无实例名称,无端口):

var dbConfig = {
    server: "LAP12",
    database: "SampleDb",
    options: {
        trustedConnection: true
    }
};

该端口仍然对 SQL-Browser 关闭,通过该更改我可以连接到我的数据库。

我的 nodejs 包'mssql'

于 2021-01-20T00:21:13.730 回答
0

添加此加密后:false,应用程序没有显示任何错误,也没有响应,它没有连接到数据库

于 2020-04-08T06:48:30.180 回答