我有一个场景,我只想在一次执行中插入100多条记录。我在Node.JS中开发我的应用程序并使用trireme-jdbc进行jdbc连接到openge DB,并且它不允许在单个执行中执行多个记录,要么传递多个值的数组,要么传递多个插入查询,其值由分号分隔。由于这个问题,我在循环中执行此操作,但它打破了超过20-25的记录的连接。看起来在trireme-jdbc db.close()中看起来确实关闭了数据库会话。有没有其他方法可以在trireme-jdbc中关闭数据库连接或会话。下面是我用来做这个的示例cose。
执行下面的代码后,它只在Node中抛出SQL语法错误,但是使用sql developer或Squirrel Client工具成功插入。我使用的数据库是Openedge 11.6。看起来每次执行都会自动创建新连接。任何帮助表示赞赏。
[DataDirect][OpenEdge JDBC Driver][OpenEdge] Syntax error in SQL statement at or about "; INSERT INTO po_log (order_num, line_id" (10713)
[DataDirect][OpenEdge JDBC Driver][OpenEdge] Syntax error in SQL statement at or about "; INSERT INTO po_log (order_num, line_id" (10713)
Belows是我在此操作中使用的代码 -
if(filePlant == 'RY1')
{
query = 'INSERT INTO po_log (order_num, line_id, line_release)
VALUES (' + 4370024 + ' , ' + 1 + ' , ' + 2 + ' )' + ' ; ' +
'INSERT INTO po_log (order_num, line_id, line_release) VALUES
(' + 4370024 + ' , ' + 1 + ' , ' + 2 + ' )'
dbRY1.execute(query,
[], function(err, result, rows) {
loggy.info('ASN Inserted DB Error for RY1--->'+err);
if(err == undefined){
loggy.info('ACK Inserted for RY1--->');
}else{
loggy.info('ACK Inserting Error occurred for RY1--->');
}
});
dbRY1.close();
}