【问题标题】:ConnectionError: Failed to connect to MyServer:1433ConnectionError:无法连接到 MyServer:1433
【发布时间】:2017-11-21 21:51:07
【问题描述】:

我正在尝试从我的机​​器连接到远程 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),但没有运气。

【问题讨论】:

  • 服务器是在默认端口 1433 还是在 1337 上运行。如果在 1337 上,请将端口放入配置中(端口:1337)
  • 是的,我把端口放在配置上,但错误仍然存​​在。
  • 如果启用了混合模式,您能否尝试使用 SQL 帐户凭据。我也想看看是否有与 SQL 探查器的连接请求,...
  • Con profiler 你可以监控现有的连接,而不是 FAILED
  • 要查明是“找不到服务器”还是“登录失败”,只需检查您的 SQL Server 错误日志。任何“登录失败”都会记录在那里。如果没有错误,则无法访问您的服务器(连接字符串错误)

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


【解决方案1】:

我已经解决了这个问题。 首先,我在我的数据库上创建了一个用户,然后在我的配置中包含了用户和密码。我需要在选项中指定实例和数据库,导致将所有内容放在同一字符串中时节点无法识别。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2019-12-07
    • 2018-08-17
    • 2014-10-14
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多