gpt4 book ai didi

express - 节点js : mssql [ConnectionError: Connection is closed.]名称: 'ConnectionError' ,消息: 'Connection is closed.' ,代码: 'ECONNCLOSED'

转载 作者:行者123 更新时间:2023-12-01 22:26:37 25 4
gpt4 key购买 nike

我在使用 sqlserver 2012 的 npm mssql 3.0.0 中遇到错误

我正在创建单页应用程序,其中我使用express使用restful。有 4 种方法执行查询并返回数据以进行响应。对于每种方法,我打开连接并关闭连接。

但是当调用savedquery时,会发生连接关闭错误。

每个方法代码与savedquery方法类似(复制粘贴代码仅更改查询),但它们正在执行savedquery而不执行

{ [连接错误:连接已关闭。] name: '连接错误', message: '连接已关闭。', 代码:'ECONCLOSED'}

var savedquery=function(req,res){
dbConfig= {
user: 'XXX',
password: 'XXXXXXXXXX',
server: 'localhost', // You can use 'localhost\\instance' to connect to named instance
database: 'DEMO_ODS',
options: {
encrypt: true
}
};

sql.connect(dbConfig).then(function (err) {
var sqlrequest = new sql.Request();
sqlrequest.query("SELECT * from SavedQuery").then(function (recordset) {
sql.close(function (value) {
console.log("connection6 closed");
});
return res.status(200).send(recordset);

}).catch(function (err) {
console.log(err);
});
}).catch(function (err) {
console.log(err);
});
};
}

最佳答案

我知道这是一个老问题,但这个答案是针对面临同样问题的其他人的。我遇到了同样的问题,我所做的是,使用如下 promise 。

    function getData() {
try {
sqlInstance.connect(setUp)
.then(function () {
// Function to retrieve all the data - Start
new sqlInstance.Request()
.query("select * from Course")
.then(function (dbData) {
if (dbData == null || dbData.length === 0)
return;
console.dir('All the courses');
console.dir(dbData);
})
.catch(function (error) {
console.dir(error);
});

// Function to retrieve all the data - End

// To retrieve specicfic data - Start
var value = 1;
new sqlInstance.Request()
.input("param", sqlInstance.Int, value)
.query("select * from Course where CourseID = @param")
.then(function (dbData) {
if (dbData == null || dbData.length === 0)
return;
console.dir('Course with ID = 1');
console.dir(dbData);
})
.catch(function (error) {
console.dir(error);
});
// To retrieve specicfic data - End

}).catch(function (error) {
console.dir(error);
});
} catch (error) {
console.dir(error);
}
}

这解决了我的问题。您可以找到修复here .

关于express - 节点js : mssql [ConnectionError: Connection is closed.]名称: 'ConnectionError' ,消息: 'Connection is closed.' ,代码: 'ECONNCLOSED',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35038516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com