node.js 如果我使用es语法, 是不是这样用
import dmdb from 'dmdb'
dmdb.poolMax = 100
dmdb.poolMin = 1
dmdb.poolTimeout = 0
dmdb.autoCommit = false
await dmdb.createPool({
connectString: "dm://SYSDBA:SYSDBA@localhost:5236?autoCommit=false",
poolAlias: 'mypool'
})
.... 其他代码
像poolMax 参数我可以直接在导入的dmdb对象上直接设置, 也可以作为createPool的参数来使用是么?
还有, 像 autoCommit参数, 可以是对象属性写, 可以放到connectString字符串的后边?
这个autoCommit是否可以作为excute方法的options参数呢, 比如
execute(sql, binds, {autoCommit:true}) 这样?
1、poolMax等参数可以在createPool中设置,手册中配置连接池属性中参数均可设置。
/* 创建连接池例子 */
async function createPool() {
try {
return db.createPool({
connectString: "dm://SYSDBA:SYSDBA@localhost:5236?autoCommit=false",//手动提交
poolMax: 10,
poolMin: 1
});
} catch (err) {
throw new Error("createPool error: " + err.message);
}
}
2、autoCommit可在连接串配置,execute中options设置不包含autoCommit。
async function updateTableValue(){
try {
var sql="update TAB01_TEST set name=:1 where ID=1";
await conn.execute(sql, [{val:"测试2"}]);
await conn.execute("commit;");
} catch (err) {
throw new Error("updateTableValue error: " + err.message);
}
}
提交也可以使用如下方法
conn.commit(function(err) {
console.log(err);
})
具体可参照程序员手册第10章 DM node.js编程指南,对于pool和connection的属性和函数均在手册中进行了详细说明。
你可以参考一下以下链接
https://eco.dameng.com/document/dm/zh-cn/app-dev/JavaScript_NodeJs.html