注册

【BUG】连接每次都需要用完关闭,然后重新创建,无法归还连接池然后复用

DM_08 2024/01/06 631 0

【DM版本】: DM8
【操作系统】: windows server 2016
【CPU】: x86
【驱动】: Node.js
【问题描述】:
以下是 Node.js 代码,为了说明问题,故意将创建连接池的参数 poolMin和poolMax设置为1:

const db = require("dmdb"); // 基础测试 db.createPool({ connectString: "dm://SYSDBA:PASSWORD\@localhost:5236", poolMin: 1, poolMax: 1 }).then(function(pool) { console.log('t1', new Date().getTime()); // 第一段: pool.getConnection(function(err, conn) { console.log('t2', new Date().getTime()); if (err) { console.error('Failed to get Connection.'); console.error(err); return } conn.execute('SELECT * FROM PRODUCTION.PRODUCT LIMIT 1', [], function(err, result) { if (err) { console.error('SQL ERROR') console.error(err); return } console.log(result); // conn.close(); 此处不关闭。 // 文档说 close 和 release 方法一样,都是关闭连接。 }) }); // 第二段: pool.getConnection(function(err, conn) { // 此处始终无法获取连接。 console.log('t3', new Date().getTime()); if (err) { console.error('Failed to get Connection.'); console.error(err); return } conn.execute('SELECT * FROM PRODUCTION.PRODUCT LIMIT 1', [], function(err, result) { if (err) { console.error('SQL ERROR') console.error(err); return } console.log(result); }) }); }) .catch(function(err) { console.log(err); });

如上代码,第一段查询完成后,没有执行关闭连接,导致第二段查询始终无法获取连接。请指导如何正确使用连接池,避免连接完成查询后,连接池内重新创建?
文档说 close 和 release 都是关闭连接:
image.png

求指导!

回答 0
暂无回答
扫一扫
联系客服