node-mssql连接进行连续插入时出错
我在用node.js连接mssql,用的node-mssql,用下面方法进行封装,单条测试没有问题,但是进行连续插入时,只有最后一个能够正常插入,错误提示:Connection is closed. 查了半天,发现这种写法是官方文档上写的Quick Example with one global connection,这样是只建立了一个全局连接,前面没有操作完成,就被后面的连接打断了,所以出错?但此库的连接配置中又提供了pool的配置!我错在哪里,该如何做呢?谢谢!
var mssql = require('mssql');
var options = {
server: config.server,
port: config.port,
user: config.user,
password: config.password,
database: config.database,
pool: {
max: 10,
min: 2,
idleTimeoutMillis: 30000
}
}
...
function query(sql,params){
return new Promise(function(fulfill, reject) {
mssql.connect(options, function(err) {
console.dir(arguments)
if(err){
reject({err:err.message})
logger.error(err.message)
}else{
let sqlReq = new mssql.Request();
if(params){
let ps = Object.keys(params);
for(let i = 0; i < ps.length; i++){
sqlReq.input(ps[i],params[ps[i]])
}
}
sqlReq.query(sql, function(error, result) {
if (error) {
reject({err:error.message});
logger.error(error.message + ' Sql is : ' + sql)
} else {
fulfill(result);
logger.debug(sql)
}
});
}
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
已经解决了,node-mssql上的文档不全,仔细看官文文档,new sql.Connection时有一个返回参数,这个参数作为new sql.request()参数,就好了!
文档地址:http://csdoc.org/
为什么文档不一致,真坑人,折腾了一个下午!