2017-10-14 52 views
0

当我尝试从Node Js应用程序连接到SQL Server时出现以下问题。来自节点js应用程序的SQL Server连接问题

使用的SQL Server名称DESKTOP-FCM7L54\SRINIVAS是正确的。

错误的详细信息:

{ ConnectionError: Failed to connect to DESKTOP-FCM7L54SRINIVAS:1433 - getaddrinfo ENOTFOUND DESKTOP-FCM7L54SRINIVAS

at Connection.base.ConnectionPool._poolCreate.base.Promise.tedious.once.err (C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\mssql\lib\tedious.js:216:17)
at Connection.g (events.js:292:16)
at emitOne (events.js:96:13)
at Connection.emit (events.js:188:7)
at Connection.socketError (C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connection.js:699:14)
at C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connection.js:590:25
at C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connector.js:68:18
at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (dns.js:89:17)
Code: 'ESOCKET',

var express = require('express'); 
var app = express(); 
var sql = require("mssql"); 

// config for your database 
var config = { 
    server: 'DESKTOP-FCM7L54\SRINIVAS', 
    database: 'Test', 
    user: 'sa', 
    password: 'test', 
    port: 1433 
}; 

app.get('/', function (req, res) { 
    //connect to your database 
    sql.connect(config, function (err) { 
     if (err) console.log(err); 
     // create Request object 
     var request = new sql.Request(); 
     // query to the database and get the records 
     request.query('select * from Customer', function (err, recordset) { 
      if (err) console.log(err) 
      // send records as a response 
      res.send(recordset); 
     }); 
    }); 
    sql.close(); 
}); 

var server = app.listen(5000, function() { 
    console.log('Server is running..'); 
}); 

回答

0

你所得到的错误代码是ENOTFOUND,这意味着找不到连接。验证您的主机和端口,并确认服务确实在此端口上运行。
还有一个人认为你可以看到你的错误 - 它说getaddrinfo ENOTFOUND DESKTOP-FCM7L54SRINIVAS - 注意到你的名字中缺少的反斜杠,可能是逃避它。也许尝试连接到DESKTOP-FCM7L54\\SRINIVAS

我在代码中看到的另一件事,与此问题无关 - 您没有正确处理错误 - 将它们打印到控制台,但不阻止代码的流动会造成一些不良行为。