使用 npm Express 连接到本地 mssql 服务器做出反应



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

这是我的服务器.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-HJPMSSQLSERVER1', 
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:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulesmssqllibtediousconnection-pool.js:68:17)
at Object.onceWrapper (events.js:300:26)
at Connection.emit (events.js:210:5)
at Connection.socketError (C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulestediouslibconnection.js:1258:12)
at C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulestediouslibconnection.js:1084:21
at GetAddrInfoReqWrap.callback (C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulestediouslibconnector.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:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulestediousliberrors.js:13:12)
at Connection.socketError (C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulestediouslibconnection.js:1258:56)
at C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulestediouslibconnection.js:1084:21
at GetAddrInfoReqWrap.callback (C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulestediouslibconnector.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:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulesmssqllibbaserequest.js:447:37)
at Request._query (C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulesmssqllibtediousrequest.js:346:11)
at Request.query (C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulesmssqllibbaserequest.js:383:12)
at C:UsersHenry PetersDesktoptesting123react_express_starter-masterserver.js:26:15
at C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulesmssqllibbaseconnection-pool.js:241:7
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
code: 'ECONNCLOSED',
name: 'ConnectionError'
}
at Request.query (C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulesmssqllibbaserequest.js:383:12)
at C:UsersHenry PetersDesktoptesting123react_express_starter-masterserver.js:26:15
at C:UsersHenry PetersDesktoptesting123react_express_starter-masternode_modulesmssqllibbaseconnection-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服务器复制/粘贴。

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)

最新更新