3

我正在尝试连接到本地计算机上的 SQL Server。我正在尝试使用乏味和乏味的ntlm。两者的配置如下:

var tds = require("tedious-ntlm");
//var tds = require("tedious");
var config = {
userName: 'pratikdb',
password: 'pratikdb',
server: '.',
options: {
    database: "TEST",
    debug: {
        packet: false,
        payload: false,
        token: false,
        data: false
    },
    encrypt: true
  }
};


http.createServer(app).listen(app.get('port'), function () {
    console.log('Express server listening on port ' + app.get('port'));
    var connection = new tds.Connection(config);
    connection.on('connect', function (err) {
        console.log(err);
    });
});

当我处理繁琐的工作时,我收到了这个错误:

ConnectionError:无法连接到 .:1433 - getaddrinfo ENOTFOUND。.:1433]
消息:'无法连接到 .:1433 - getaddrinfo ENOTFOUND 。.:1433',代码:'ESOCKET'

当我使用“tedious-ntlm”时,我收到了这个错误:

连接到 .:1433 - 失败错误:getaddrinfo ENOTFOUND。.:1433

正如这里提到的,我尝试使用机器的 ip,即使我得到了同样的错误。

编辑:

当我根据@jmugz3 的建议修改如下配置时:

var config = {
    userName: 'pratikdb',
    password: 'pratikdb',
    server: 'DELL',
    options: {
        instanceName: ".",
        database: "TEST",
        debug: {
            packet: false,
            payload: false,
            token: false,
            data: false
        },
        encrypt: true
    }
};

我收到错误:

错误:端口为 . 在 ServerName;DELL;InstanceName;MSSQLSERVER;IsClustered;No;Version;11.0.2100.60;tcp;1433;np;\DELL\pipe\sql\query;中找不到

谁能帮帮我吗?

提前致谢。

4

1 回答 1

5

找到一个答案,繁琐的讨论。将我的配置变量更改为

var sqlConfig = {
    userName: 'pratikdb', //username created from SQL Management Studio
    password: 'pratikdb',
    server: 'DELL',    //the IP of the machine where SQL Server runs

    options: {
        instanceName: 'MSSQLSERVER',
        database: 'Test',  //the username above should have granted permissions in order to access this DB.
        debug: {
            packet: false,
            payload: false,
            token: false,
            data: false
        },
        //encrypt: true
    }

};

要寻找的要点是 server 和 instanceName 的大写。由于某种原因,乏味的是在数组的键和值中保持区分大小写。

于 2016-03-13T07:21:00.177 回答