2017-01-11 170 views
0

我正在与节点工作,我有这个错误,但这只是有时会发生。 但这次是永久的。Node js - 错误getaddrinfo ENOTFOUND

我的配置:

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; 

埃罗:

{ 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' } 

谢谢。

+0

ms sql服务器现在是否在端口1433上运行? –

回答

0

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

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

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

  • 也许您的默认域未在您的服务器上正确设置。

  • 也许你在主机名中有一个错字,它不应该是devsv,而是别的。

以上不是详尽无遗的列表,但这些可能是原因。