【问题标题】:oracledb chaining sql call using promisesoracledb 使用 Promise 链接 sql 调用
【发布时间】: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 我添加了用于测试链接的代码。

标签: node.js database oracle


【解决方案1】:

您的重复帖子中正在讨论这个问题:https://github.com/oracle/node-oracledb/issues/490

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 2017-05-24
    • 2018-02-06
    • 1970-01-01
    • 2017-04-27
    • 2019-01-08
    • 1970-01-01
    相关资源
    最近更新 更多