【问题标题】:SQL Server connection issue from node js application来自节点 js 应用程序的 SQL Server 连接问题
【发布时间】:2018-03-26 15:44:00
【问题描述】:

当我尝试从 Node Js 应用程序连接到 SQL Server 时遇到以下问题。

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

错误详情:

{ ConnectionError: 无法连接到 DESKTOP-FCM7L54SRINIVAS:1433 - getaddrinfo ENOTFOUND DESKTOP-FCM7L54SRINIVAS

在 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)
在 Connection.g (events.js:292:16)
在 emitOne (events.js:96:13)
在 Connection.emit (events.js:188:7)
在 Connection.socketError (C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connection.js:699:14)
在 C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connection.js:590:25
在 C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connector.js:68:18
在 GetAddrInfoReqWrap.asyncCallback [作为回调] (dns.js:62:16)
在 GetAddrInfoReqWrap.onlookupall [as oncomplete] (dns.js:89:17)
代码:'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..');
});

【问题讨论】:

    标签: sql-server node.js


    【解决方案1】:

    您得到的错误代码是ENOTFOUND,表示未找到连接。验证您的主机和端口,以及该服务确实在此端口上运行。
    另一个人认为你可以在你的错误中看到 - 它说getaddrinfo ENOTFOUND DESKTOP-FCM7L54SRINIVAS - 注意你名字中缺少的反斜杠,可能正在转义它。也许尝试连接到DESKTOP-FCM7L54\\SRINIVAS

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-13
      • 2021-06-02
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      相关资源
      最近更新 更多