NodeJS连接到SQL Server Port Not Found错误

时间:2018-02-11 02:41:11

标签: node.js tedious

我正在尝试连接到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,
    }
};

3 个答案:

答案 0 :(得分:0)

好的,我遇到了同样的问题,将尝试提供帮助。 这是我的配置示例

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浏览器上单击鼠标左键,然后单击重新启动

  • 返回右选项卡,单击“ SQL Server网络配置”

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

让我知道它是否有效。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

就我而言,“SQL 浏览器”无法访问,因为防火墙端口未打开。 我的解决办法是打开端口或者把dbConfig改成(无实例名,无端口):

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

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

我的 nodejs 包 'mssql'