Node.js oracledb UPDATE 卡住了(承诺从未解决)

Node.js oracledb UPDATE gets stuck (promise never resolved)

我遇到了 nodejs oracledb 包的问题。执行 SELECT 查询有效,但是当我从字面上执行一个更新查询时,库会卡住(承诺永远不会解决)并且 none 任何新的其他 oracle 命令都将得到解决(包括新的 SELECT 查询)。

    const out = await db.connection.execute( `SELECT COUNT(*) FROM MYTABLE WHERE MYFIELD = :1`, ['JOHN] )

上述请求已解决,而下一个 UPDATE 请求被卡住,承诺永远不会解决。

    try{
        const out = await db.connection.execute(`UPDATE MYTABLE SET MYFIELD = :1 WHERE ID = :2`, ['JOHN', 1])
        console.log("success")
    }catch(err){
        console.error("Error", err)
    }

它卡住了。如果我再做一次 SELECT,新的请求也会无限期地卡住。

一般原因是 运行 在 SQL*Plus 或 SQL Developer 等工具中使用了相同(或相似)的语句,但未提交。因此,该行已被锁定,您的 Node.js 应用程序无法对其进行更新。