【发布时间】:2016-08-05 20:38:04
【问题描述】:
我对使用 NodeJS 的 oracledb 很陌生。 我想做一些依赖的多个 sql 调用。 在第一次sql查询之后,我需要使用结果执行第二次sql查询,第二次查询的结果用于第三次。
我正在尝试查找一些示例,但没有找到任何示例。
EDIT 1:添加用于链接 sql 查询的代码。 在执行查询 sqltoExecute 之前,我需要通过执行一个设置“设置角色”的查询来配置连接,然后再执行一个设置“设置包”的查询 在执行我的最终查询之前。
它只执行设置角色的第一个查询,然后什么也不执行。
我在 Ubuntu 14 上使用 NodeJS 4.4.7。
exports.testChainingSqlQueries = function(config, sqlToExecute, callback) {
if (config) {
oracledb.getConnection(config)
.then(function(conn){
return conn.execute(
sqlQueries.sqlQuerySetRole()
)
.then(function(result){
console.log("Execution Succes : "+ sqlQueries.sqlQuerySetRole());
return conn;
})
.catch(function(err){
console.log("Error Executing "+ sqlQueries.sqlQuerySetRole() );
return conn.close();
})
})
.then(function(conn){
return conn.execute(
sqlQueries.sqlQuerySetPackage()
)
.then(function(result){
console.log("Execution Succes : "+ sqlQueries.sqlQuerySetPackage());
return conn;
})
.catch(function(err){
console.log("Error executing : "+ sqlQueries.sqlQuerySetPackage());
return conn.close();
})
})
.then(function(conn){
return conn.execute(
sqlToExecute
)
.then(function(result){
console.log("Execution Succes : "+ sqlToExecute);
callback(result, null);
return conn.close();
})
.catch(function(err){
console.log("Error executing : "+ sqlToExecute);
return conn.close();
})
});
} else {
callback(null, {
message: "Configuration is invalid ",
config: config
});
}
};
【问题讨论】:
-
您可以包含您尝试过的代码吗?您试图在什么环境中链接这些 sql 查询?
-
一般 node-oracledb 问题可以在github.com/oracle/node-oracledb/issues提问
-
@FishStix 我添加了用于测试链接的代码。