sql - mssql and node, am i doing connection pools right?
问题描述
I am currently creating some web apps using nodejs. Currently I have different routes setup for my various web apps. I am wondering if I am using pooling correctly, or if parts of my code are redundant. Don't have any errors. Do I have to do "const pool = new.sqlConnectionPool" per route? Thanks!
var express = require('express');
var app = express();
app.use(express.static('./public'))
var sql = require('mssql/msnodesqlv8');
var config = {
driver: 'msnodesqlv8',
connectionString: 'Driver={SQL Server Native Client 11.0};Server=SERVER;Database=SQL_Testing;Trusted_Connection=yes;',
};
app.get('/PickQueue', function (req, res) {
var now = new Date();
const pool = new sql.ConnectionPool(config).connect().then(pool => {
return pool.request().query("query goes here")
}).then(result => {
let rows = result.recordset
res.status(200).json(rows);
console.log('Grabbing QUEUE info '+ now);
sql.close();
}).catch(err => {
res.status(500).send({ message: `${err}`})
sql.close();
});
});
app.get('/PackingStation/dipline1/:packDateTotal', function (req, res) {
var now = new Date();
const packDateTotal = "'"+req.params.packDateTotal+"'"
const queryString = "DECLARE @date AS Varchar(100) = "
var finalquery = queryString.concat(packDateTotal)
var finalquery = finalquery.concat("query here ")
const pool = new sql.ConnectionPool(config).connect().then(pool => {
return pool.request().query(finalquery)
}).then(result => {
let rows = result.recordset
res.status(200).json(rows);
console.log('Grabbing Dip1 Count info '+ now);
sql.close();
}).catch(err => {
res.status(500).send({ message: `${err}`})
sql.close();
});
});
app.listen(5000, function () {
console.log('Server is running..');
});
解决方案
您想初始化池一次,然后在其他任何地方重用它,而不是每次有请求传入时
只需将池初始化移动到其他地方
推荐阅读
- android - 如何制作机密的图书馆模块
- java - 使用 RestTemplate 时出错 - 使用 Apache Commons Multimap 反序列化对象的问题
- pandas - 从多级熊猫数据框中删除前两级具有重复索引的行列表
- mysql - 在问卷模型中从其他表中查询数据
- database-migration - 使用 Liquibase 从一个版本到另一个版本的数据库迁移
- c# - 找出两个 DateTime 对象之间差异的最佳方法?
- labview - 与 Xtralien 恒电位仪的串行通信不起作用?
- javascript - JavaScript 输入/输出
- javascript - 从任何地方访问 Singleton
- python - 如何根据数据列对不规则数据集进行上采样?