gpt4 book ai didi

node.js - Express 应用程序的 NodeJS DB2 连接池

转载 作者:太空宇宙 更新时间:2023-11-03 23:01:45 24 4
gpt4 key购买 nike

我在网上看到的关于 NodeJS 与 IBM DB2 的帖子很少。我是 NodeJS 新手,在为我的 Web 应用程序配置连接池时遇到问题。我在本地成功运行具有单个连接的 Node 应用程序,但不确定如何配置连接池。下面的代码是我如何将其用于单个连接。

DBConnection JS:

module.exports = function(dbConnection)
{
var Pool = require('ibm_db').Pool;
var pool = new Pool();

pool.open("MY_CONNECTION_STRING",function(err,connection){

//error handling logic ...

dbConnection(connection);
});
}

应用监听器js:

var express = require('express');
var app = express();

app.listen(8080,function(){
console.log("server started..);
});

require('./DBConnection')(function(connection){

app.get('/getEmpId',function(req,res){
connection.query("MY_SQL_QUERY",function(error,results,fields){
//some other logic

res.send(results[0]);

//Closing connection
connection.close(function(err2) {
if(err2) console.log(err2);
});
});
});
}

需要您的建议来设置连接池,当并发用户访问时,我可以为每个请求使用一个连接,并在处理请求后关闭连接。

最佳答案

您可以查看 IBM node-ibm_db driver 提供的简短示例。它有一个关于 Connection Pooling 的部分。驱动程序重用 Node odbc 池,您需要对 Pool 对象调用打开/关闭调用。这是取自 node-ibm_db 的样本站点:

var Pool = require("ibm_db").Pool
, pool = new Pool()
, cn = "DATABASE=dbname;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=dbuser;PWD=xxx";

pool.open(cn, function (err, db) {
if (err) {
return console.log(err);
}

//db is now an open database connection and can be used like normal
//if we run some queries with db.query(...) and then call db.close();
//a connection to `cn` will be re-opened silently behind the scense
//and will be ready the next time we do `pool.open(cn)`
});

关于node.js - Express 应用程序的 NodeJS DB2 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46384894/

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