【发布时间】:2019-01-23 01:02:56
【问题描述】:
我只是想尽可能清楚,所以我有一个 MS SQL nodejs API,通过它我与我的 android 和桌面应用程序进行交互。目前它工作正常,但它不在池连接上。我认为这就是为什么当更多人使用我的应用程序时,它只是没有给出响应,而是给出了更多 LIKE 的错误
连接已经存在 先关闭 SQL.close()
所以我计划将我的 API 升级为池连接,这意味着更多人可以同时连接到我的 API。正确的?
所以我有这个与数据库代码的连接,它的连接和查询如下所示:
连接var dbConfig = {
user: 'sa',
password: "pmis13",
server: '19',
database: 'CUBES_HO',
};
查询处理程序:
function executeQuery(query) {
return new Promise((resolve, reject) => {
sql.connect(dbConfig, function (err) {
if (err) {
reject(err);
sql.close();
} else {
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query(query, function (err, data) {
if (err) {
reject(err);
sql.close();
} else {
resolve(data);
sql.close();
}
});
}
});
});}
查询看起来像这样:
app.get("/dailysale/:date", function (req, res) {
var query = "SELECT SUM(bill_amt) AS totalSale FROM [CUBES_HO].[dbo].[vw_bill_summary] where inv_loc_key = 2 and bill_sale_date = '"+req.params.date+"'";
executeQuery(query)
.then((data) => {
res.status(200).send({ "msg": "Records fetched", "data": data.recordsets });
}).catch((err) => {
res.status(500).json({ "msg": err.message });
});});
我想转换它,或者我们可以说将此 api 升级为池连接,这对于多个连接来说听起来更可靠。纠正我我错了。
【问题讨论】:
-
这取决于您的应用程序的可扩展性。但是创建池连接总是更适合执行此类查询。
-
这正是我在想的,你能指导我吗?我有很多这样的查询,我想切换到池连接,有什么方法可以使用与它相同的模式并将其用作池连接,我喜欢这样的数千个查询。我该怎么办?
-
我通常不会像 5 out 100 次那样从服务器获得响应。它说关闭连接和东西
标签: javascript node.js