使用npm express连接到本地mssql服务器的反应

问题描述 投票:0回答:1

[嗨,我正在尝试使用npm express连接到本地mssql数据库,以仅提取数据并显示在屏幕上。但是我收到连接错误。为什么会造成这种情况?我仔细检查了服务器名称,但没有成功。数据库名称为test,表名称为users。数据库已打开并已连接。已经连接的数据库甚至需要用户/密码吗?

这是我的server.js文件

const app = express();

app.get('/', function (req, res) {


  var sql = require("mssql");

  // config for your database
  var config = {
      user: 'sa',
      password: 'mypassword',
      server: 'WIN10-LAP-HJP\MSSQLSERVER1', 
      database: 'test' 
  };

  // 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 users', function (err, recordset) {

          if (err) console.log(err)

          // send records as a response
          res.send(recordset);

      });
  });
});

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

});

这是错误。

Server is running..
ConnectionError: Failed to connect to WIN10-LAP-HJPMSSQLSERVER1:1433 - getaddrinfo ENOTFOUND WIN10-LAP-HJPMSSQLSERVER1
    at Connection.<anonymous> (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\mssql\lib\tedious\connection-pool.js:68:17)
    at Object.onceWrapper (events.js:300:26)
    at Connection.emit (events.js:210:5)
    at Connection.socketError (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\tedious\lib\connection.js:1258:12)
    at C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\tedious\lib\connection.js:1084:21
    at GetAddrInfoReqWrap.callback (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\tedious\lib\connector.js:152:16)
    at GetAddrInfoReqWrap.onlookupall [as oncomplete] (dns.js:72:17) {
  code: 'ESOCKET',
  originalError: ConnectionError: Failed to connect to WIN10-LAP-HJPMSSQLSERVER1:1433 - getaddrinfo ENOTFOUND WIN10-LAP-HJPMSSQLSERVER1
      at ConnectionError (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\tedious\lib\errors.js:13:12)
      at Connection.socketError (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\tedious\lib\connection.js:1258:56)
      at C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\tedious\lib\connection.js:1084:21
      at GetAddrInfoReqWrap.callback (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\tedious\lib\connector.js:152:16)
      at GetAddrInfoReqWrap.onlookupall [as oncomplete] (dns.js:72:17) {
    message: 'Failed to connect to WIN10-LAP-HJPMSSQLSERVER1:1433 - getaddrinfo ENOTFOUND WIN10-LAP-HJPMSSQLSERVER1',
    code: 'ESOCKET'
  },
  name: 'ConnectionError'
}
ConnectionError: Connection is closed.
    at Request._query (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\mssql\lib\base\request.js:447:37)
    at Request._query (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\mssql\lib\tedious\request.js:346:11)
    at Request.query (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\mssql\lib\base\request.js:383:12)
    at C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\server.js:26:15
    at C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\mssql\lib\base\connection-pool.js:241:7
    at processTicksAndRejections (internal/process/task_queues.js:93:5) {
  code: 'ECONNCLOSED',
  name: 'ConnectionError'
}
    at Request.query (C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\mssql\lib\base\request.js:383:12)
    at C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\server.js:26:15
    at C:\Users\Henry Peters\Desktop\testing123\react_express_starter-master\node_modules\mssql\lib\base\connection-pool.js:241:7
    at processTicksAndRejections (internal/process/task_queues.js:93:5) {
  code: 'ECONNCLOSED',
  name: 'ConnectionError'
}
[nodemon] restarting due to changes...
[nodemon] starting `node server.js`
Server is running..
sql-server reactjs
1个回答
0
投票

尝试一下(这对我有用):顺便说一句,服务器名称只是从sql server复制/粘贴。

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


var config = {

    server: "LAPTOP-2563A\\someName",
    user: "sa",
    password: "password",
    database: "nameDb",
    port: 1433,
    options: {
        encrypt: false
    }
};


        async function main(){


                async function fetchData () {
                    try {
                        let pool = await sql.connect(config)
                        let result1 = await pool.request()
                            //.input('input_parameter', sql.Int, value)
                            .query(`select round(sum(montoGastado),2) as y,
                             Tipo_Gasto as label 
                             from Gastos 
                             where MontoGastado > 0 
                             group by Tipo_Gasto`) 

                        return result1
                        pool.close()
                    } catch (err) {
                        // ... error checks
                    }
                }

                let abc = await fetchData();


                app.all("/",function(req,res){

                    res.render("homePage.ejs",{abc: abc})
                    console.log(abc2)
                })

        }

        main()

app.listen(3000)
© www.soinside.com 2019 - 2024. All rights reserved.