【问题标题】:Node.js oracledb UPDATE gets stuck (promise never resolved)Node.js oracledb UPDATE 卡住(承诺永远不会解决)
【发布时间】:2022-02-01 08:56:08
【问题描述】:

我遇到了 nodejs oracledb 包的问题。执行 SELECT 查询可以工作,但是当我执行一个 UPDATE 查询时,库会卡住(承诺永远不会得到解决),并且任何新的 oracle 命令都不会得到解决(包括新的 SELECT 查询)。

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

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

    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 node.js oracle oracle11g node-oracledb


    【解决方案1】:

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

    【讨论】:

    • 你是对的。这解决了我的问题。谢谢
    猜你喜欢
    • 2016-05-06
    • 2019-11-29
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 2020-04-15
    • 1970-01-01
    • 2018-05-06
    相关资源
    最近更新 更多