【问题标题】:Update query hangs in node-oracledb module更新查询在 node-oracledb 模块中挂起
【发布时间】:2019-10-28 17:52:34
【问题描述】:

我正在使用 node-oracledb (3.1.2) 模块。除更新查询外,一切正常。我能够触发选择、插入查询,但是当我尝试触发 upate 查询时,似乎查询被挂起(没有错误,没有结果)。我正在编写以下代码:

用于创建连接:

module.exports.createErpConnection = async () => {
   try {
       connection = await oracleDB.getConnection({
           user: constants.databaseCredentials.user,
           password: constants.databaseCredentials.password,
           connectString: `${constants.databaseCredentials.connectString}/${constants.databaseCredentials.databaseName}`
       });

       if (connection) {
           response.status = 1;
           response.connection = connection
       } else {
           response.status = 0;
           response.message = constants.databaseStatus.ERP_DATABASE_CONNECTION_NOT_ESTABLISHED
       }
   } catch (exception) {
       response.status = 0;
       response.message = exception;
   } finally {
       return response;
   }
};

触发更新查询:

async function updateProductStatInErp(connection) {
  let sql = `UPDATE product_master SET UPDATED_STAT='N'`;
  let options = {outFormat: oracledb.OBJECT, autoCommit: true};
  const res = await connection.connection.execute(sql, {}, options)
  // I am not getting either response nor error
}

我需要做任何额外的事情来触发更新查询吗?

【问题讨论】:

    标签: node.js node-oracledb


    【解决方案1】:

    我已经通过在 try 和 catch 块中编写 execute 语句解决了这个问题。代码如下:

     try {
          const res = await connection.connection.execute(sql, {}, options)
          console.log('======= 185 =======', res)
      } catch (exception) {
          console.log('====== 186 =====', exception)
        }
    Result =>> ====== 185 ======= { rowsAffected: 490 }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-12
      • 2015-08-23
      • 2013-05-02
      • 2021-12-19
      • 2016-05-14
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      相关资源
      最近更新 更多