Nodejs loopback框架笔记(三):如何对oracle数据库使用SQL语句

如何在loopback框架中对oracle数据库使用SQL语句

    • 一、安装oracledb插件
    • 二、使用方法直接上代码
    • 三、结果数据处理

一、安装oracledb插件

使用以下cmd命令安装oracledb插件

npm install oracle --save

二、使用方法直接上代码

// 调用方法
selectAllData();

function selectAllData() {
	// 配置oracle数据库
    var oracledb = require('oracledb');
    var config = {
        "connectString": "10.**.***.**:1530/CIM725",
        "user": "WCDI40",
        "password": "*****",
    };
    // 需要执行的sql语句
    var sqlStatement = 'select * from EXAM_DEPT'
    var message;
    oracledb.getConnection(config, function (err, connection) {
        if (err) {
            doRelease(connection);
            message = err.message;
        } else {
            // 执行需要执行的SQL语句
            connection.execute(sqlStatement, function (err, result) {
                if (err) {
                    doRelease(connection);
                    message = err.message;
                } else {
                    message = 'update sucessful!!';
                    // result 为执行后的结果
                    console.log(result);
               }
            });
        }
    });

	// 关闭连接
    function doRelease(connection) {
        connection.close(
            function (err) {
                if (err) {
                    console.log(err);
                }
        });
   }
}  

三、结果数据处理

1、result 数据结构

result = { 
	metaData:[{ name: 'GROUPNAME' }, { name: 'SITE' }, { name: 'PLANT' } ],
  	rows:
  		[[ 'WZS-P1&P3&P6', '1', 'P3' ],
     	[ 'WZS-P1&P3&P6', '1', 'P6' ],
     	[ 'WKS-P1', 'WKS-P1', 'WKS-P1' ] ] }

2、转换成常用结构

data = result.rows.map((v)=>
            {
                return result.metaData.reduce((p, key, i)=>
                {
                    p[key.name] = v[i];
                    return p;
                }, {})
            });
console.log(data);
data 打印结果如下,转换成为了我们的常用格式:
[{ GROUPNAME: 'WZS-P1&P3&P6', SITE: '1', PLANT: 'P3' }, { GROUPNAME: 'WZS-P1&P3&P6', SITE: '1', PLANT: 'P6' },{ GROUPNAME: 'WKS-P1', SITE: 'WKS-P1', PLANT: 'WKS-P1' } ]

你可能感兴趣的:(Nodejs,nodejs,oracle)