繁体   English   中英

连接节点JS到SQL服务器数据库出错

[英]Error in Connecting Node JS to SQL Server Database

const express = require('express')
const bodyParser = require("body-parser")
const sql = require("mssql")

const app = express()
const port = process.env.PORT || 3000
app.use(bodyParser.json());
var cors = require('cors')
app.use(cors())
app.use(function (req, res, next) {
    //Enabling CORS 
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, contentType,Content-Type, Accept, Authorization");
    next();
});

app.use(express.json())
var dbConfig = {
    user:  'sa',
    password: 'mounikaroot',
    server: 'DESKTOP-NFVH9Q2\MOUNIKASQL',
    database:'Test',
    port:1433,
    options: {
        "enableArithAbort": true
    }
};

//Function to connect to database and execute query
const  executeQuery = function(res, query){             
     sql.connect(dbConfig, function (err) {
         if (err) {   
                     console.log("Error while connecting database :- " + err);
                     res.send(err);
                  }
                  else {
                         // create Request object
                         var request = new sql.Request();
                         // query to the database
                         request.query(query, function (err, res) {
                           if (err) {
                                      console.log("Error while querying database :- " + err);
                                      res.send(err);
                                     }
                                     else {
                                       res.send(res);
                                            }
                               });
                       }
      });           
}



//POST API
 app.post("/user", function(req , res){
                var query = "INSERT INTO [user] (Name,Email,Password) VALUES (req.body.Name,req.body.Email,req.body.Password)"
                executeQuery (res, query);
});



app.listen(port, () => {
    console.log('Server is up on port ' + port)
})

得到错误:

连接数据库时出错:- ConnectionError:无法连接到 DESKTOP-NFVH9Q2MOUNIKASQL:1433 - getaddrinfo ENOTFOUND DESKTOP-NFVH9Q2MOUNIKASQL

无法连接到 DESKTOP-NFVH9Q2MOUNIKASQL:1433 - getaddrinfo ENOTFOUND DESKTOP-NFVH9Q2MOUNIKASQL

那是 DNS 查找错误; 它不知道如何获取NFVH9Q2MOUNIKASQL的地址。 它试图查找该名称的原因是因为 JavaScript 字符串文字中的\用于执行转义序列。 如果您使用\\ ,那么字符串将包含一个实际的反斜杠。

var dbConfig = {
    user:  'sa',
    password: 'mounikaroot',
    server: 'DESKTOP-NFVH9Q2\\MOUNIKASQL',
    database:'Test',
    port:1433,
    options: {
        "enableArithAbort": true
    }
};

现在它应该知道您的服务器名称是DESKTOP-NFVH9Q2并且实例名称是MOUNIKASQL而不是认为服务器名称是NFVH9Q2MOUNIKASQL并使用默认实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM