节点js - 错误getaddrinfo ENOTFOUND

时间:2017-01-11 18:04:54

标签: javascript node.js tedious

我正在使用node并且我遇到了这个错误,但这有时只会发生。 但这次是永久性的。

我的配置:

    var mssql = require("mssql");
var config =
{
  user: "user",
  password: "pass",
  server: "devsv",
  database: "db"
}

var db = new mssql.Connection(config);

db.connect(function(err)
{
    console.log(err);
});

module.exports = db;

ERRO:

    { ConnectionError: Failed to connect to devsv:1433 - getaddrinfo ENOTFOUND devsv devsv:1433
    at Connection.<anonymous> (/Users/user/Projects/p1/node_modules/mssql/lib/tedious.js:378:25)
    at Object.onceWrapper (events.js:290:19)
    at emitOne (events.js:96:13)
    at Connection.emit (events.js:188:7)
    at Connection.socketError (/Users/user/Projects/p1/node_modules/tedious/lib/connection.js:531:14)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at connectErrorNT (net.js:1025:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
  name: 'ConnectionError',
  message: 'Failed to connect to devsv:1433 - getaddrinfo ENOTFOUND devsv devsv:1433',
  code: 'ESOCKET' }

谢谢。

1 个答案:

答案 0 :(得分:0)

ENOTFOUND通常表示主机名无法解析为某个地址。

有许多可能的原因,包括:

  • 您可能需要将devsv添加到本地主机名解析配置中(例如,将条目添加到/etc/hosts)。

  • 您服务器上的默认域名可能未正确设置。

  • 也许您的主机名中有拼写错误,它不应该是devsv,而是其他内容。

上述内容并非详尽无遗,但这些可能是原因。