node.js - 更新查询在 node-oracledb 模块中挂起
问题描述
我正在使用 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
}
我需要做任何额外的事情来触发更新查询吗?
解决方案
我已经通过在 try 和 catch 块中编写执行语句解决了这个问题。这是代码:
try {
const res = await connection.connection.execute(sql, {}, options)
console.log('======= 185 =======', res)
} catch (exception) {
console.log('====== 186 =====', exception)
}
Result =>> ====== 185 ======= { rowsAffected: 490 }
推荐阅读
- excel - Excel VBA:如何在“@”处用商业写列名
- react-admin - 为什么某些输入组件在选择选项时会执行 GET_MANY 查询?
- c# - ASP.NET核心中的红隼服务器可以在启动时配置空闲超时吗
- javascript - 我的不和谐音乐机器人播放音乐很好,1 天后,没有任何变化,它给了我一个错误
- python - 功能工具 cutoff_time 无法正常工作
- sql - 在 PostgreSQL 列中搜索子字符串
- javascript - 使用 Parcel 仅从 es6 转换为 es5 并缩小
- php - 无法在php中使用curl获取get api数据
- javascript - javascript中的测验,隐藏一个并在jquery中显示另一个问题
- material-components - 如何取消监听 MDCDialog 事件