[英]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.