|
- const oracledb = require('oracledb');
- var oracleConfig = require('../config/oracle.js').oracleConfig;
-
- oracledb.fetchAsString = [ oracledb.CLOB ];
- oracledb.fetchAsBuffer = [ oracledb.BLOB ];
-
-
- function editError(err){
- var newError = err;
- var newErrorString = '';
- if(newError.indexOf("\n")!=-1){
- var indexColon = newError.indexOf(":")+1;
- var indexNewLine = newError.indexOf("\n");
- var newErrorSubString = newError.substring(0, indexNewLine);
- newErrorSubString = newErrorSubString.substring(indexColon, newErrorSubString.length);
- newErrorString = newErrorSubString;
- }else{
- var indexColon = newError.indexOf(":")+1;
- newError = newError.substring(indexColon, newError.length);
- newErrorString = newError;
- }
-
- return newErrorString.substring(newErrorString.indexOf('.','start')+1);
- }
-
- async function getData(query,params = {},options = {}){
- let conn;
- let error = [];
- var result;
-
- var queryOptions = {
- outFormat:oracledb.OBJECT
- }
- for(key in options){
- queryOptions[key] = options[key];
- }
-
- try{
- conn = await oracledb.getConnection(oracleConfig);
- var data = await conn.execute(query,params,queryOptions);
- result = {"STATUS" : 1 , "DATA" : data.rows};
- return result;
-
-
- }
- catch(e){
- result = {"STATUS" : 0 , "DATA" : e.message};
- return result;
- }
- finally{
- if(conn){
- try{
- await conn.close();
- }
- catch(e){
- result = {"STATUS" : 0 , "DATA" : e.message};
- return result;
-
- }
- }
- }
- }
-
- async function runQuery(query, params,user_id = null,owner = null) {
- let conn;
- var result;
- try{
- conn = await oracledb.getConnection(oracleConfig);
- // var query = `BEGIN ${owner}.General_SYS.Init_Fnd_Session__(UPPER(:user_login)); END;`;
- // var par = {user_login:user_id};
- // console.log('Inserted');
-
- // await conn.execute(query,par);
- data = await conn.execute(query,params,{ outFormat: oracledb.OBJECT });
-
- await conn.commit();
- result = {"STATUS":1,"DATA":data};
- }
- catch(e){
- await conn.rollback();
- result = {"STATUS":0,"DATA":e.message};
-
- }
- finally{
- if(conn){await conn.close()};
- return result;
- }
-
- };
-
-
- async function getConnection(){
- try{
- let conn;
- conn = await oracledb.getConnection(oracleConfig);
- return conn;
- }
- catch(e){
- console.log(e.message);
- throw editError(e.message);
- }
- }
-
-
- async function getQueryData(conn,query, params,user_id = null,owner = null){
- try{
- var data = await conn.execute(query,params,{ outFormat: oracledb.OBJECT });
- return data.rows;
- }
- catch(e){
- throw editError(e.message);
- }
- }
-
- async function runQueryData(conn,query, params,user_id = null,owner = null){
- try{
- var data = await conn.execute(query,params,{ outFormat: oracledb.OBJECT });
- return data;
- }
- catch(e){
- throw editError(e.message);
- }
- }
-
- async function runQueryMany(conn,query, params,user_id = null,owner = null){
- try{
- var data = await conn.executeMany(query,params,{ outFormat: oracledb.OBJECT });
- return data;
- }
- catch(e){
- throw editError(e.message);
- }
- }
-
- async function doCommit(conn){
- try{
- var connection = conn;
- await connection.commit();
- }
- catch(e){
- throw editError(e.message);
- }
- };
-
- async function doRelease(conn){
- try{
- var connection = conn;
- await connection.close();
- }
- catch(e){
- throw editError(e.message);
- }
- }
-
- async function doRollBack(conn){
- try{
- var connection = conn;
- await connection.rollback();
- await conn.close();
- }
- catch(e){
- throw e;
- }
- }
-
-
- module.exports = {
- getData : getData,
- runQuery : runQuery,
- getConnection : getConnection,
- getQueryData : getQueryData,
- runQueryData : runQueryData,
- runQueryMany : runQueryMany,
- doCommit : doCommit,
- doRelease : doRelease,
- doRollBack : doRollBack
- }
|