ConnectionError:无法连接到MyServer:1433

时间:2017-11-17 11:52:03

标签: sql-server node.js windows-10

我尝试从我的计算机连接到远程SQL Server,我正在使用节点。我可以通过SQL Management Studio连接到它,我也可以连接到C#应用程序(都使用Windows身份验证)。我已经在几个论坛上搜索过(在这里也有一些问题)并且无法找到解决方案。

下面你可以找到我得到的错误:

   message: 'Failed to connect to MyServer:1433 - getaddrinfo ENOTFOUND MyServer',
     code: 'ESOCKET' },
  name: 'ConnectionError' }

这是我使用的代码:

'use strict';
var http = require('http');
var express = require('express');
var port = process.env.PORT || 1337;

var app = express();

app.get('/', (req, resp) => {
    var sql = require("mssql");

    var config = {
        driver: 'msnodesqlv8',
        server: 'MyServer/Instance',
        database: 'MyDB',
        options: {
            trustedConnection: true
        }
    };

    sql.connect(config, (error) => {
        if (error)
            console.log(error);

        var request = new sql.Request();
        request.query('select * from MyTable', (err, recordset) => {
            if (err)
                console.log(err);

            resp.send(recordset);
        });

    });

});

var servidor = app.listen(port, function () {
    console.log("Server running");
});

我查看了其他问题(例如herehere),但没有运气。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。 首先,我在我的数据库上创建了一个用户,并在我的配置中包含了用户和密码。我需要在选项中指定实例和数据库,因为当将all放在同一个字符串中时,节点无法识别。

var config = {
    user: 'user_name',
    password: '****',
    server: 'MyServer',
    options: {
        instance: 'MyInstance',
        database: 'MyDB'
    }
};