首页 > 解决方案 > 如何在nodejs oracledb中调用PL/SQL(包中存在的程序不是PL/SQL语句)?

问题描述

我的程序存在于 oracle 包中。我想调用过程而不是在节点文件本身中编写 PL/SQL 语句。例如,我想用 package.procedurename 替换“select * from X_CS_CONTRACT” ,例如 C# rightsGranted = dbClient.ExecuteDataTable(PKGCommonConstants.GetRightsGranted, dbCmdParam);

`

app.get('/api/courses', (req, res) => {
    const plsqlpackageProcedure = 'select * from X_CS_CONTRACT'
    let bindVars = {
      O_CUR_RGTSGRAN_TYP: {type: oracledb.CURSOR, dir: oracledb.BIND_OUT}
    }
    oracledb.getConnection(config)
            .then(conn => conn.execute(plsqlpackageProcedure, [], bindVars))
            .then(queryResult => {console.log(queryResult); res.send(JSON.stringify(queryResult))})
            .catch(error => console.log(error))
  });

  app.listen(3000, () => {
      console.log('Listening on port 3000');
  });

`

标签: node.jsexpressnode-oracledb

解决方案


推荐阅读