node oracledb [Error: ORA-01000: maximum open cursors exceeded]

493 Views Asked by At

I'm facing an error on executing a select query in a loop. I got this error :

 [Error: ORA-01000: maximum open cursors exceeded]

This is the query that is executed :

Oracle_POOL.getConnection( function(err, connection) {
    if (err){ 
        console.log(".getConnection err --> ", err);
        if (connection)
        connection.release(
            function(err) {
                if (err) {
                    console.log(".getConnection -> connection.release -> err",err)
                }
            }
        );  
        callBack(err, { rows : [] }, retBuff);      
    } else {
        var OracleConfig={outFormat: oracle.OBJECT};
        if ((/(^[ ]*Update)|(^[ ]*insert)/gi).test(selectQuery)) OracleConfig.isAutoCommit = true; //AutoCommit on update or insert
        connection.execute(selectQuery, LstParam, OracleConfig , function(err, results) {
            if (err) {
                console.log("*err : ", err);
            }

            connection.release( function(err2) {                        
                    if (err2) {
                        console.log("connection.execute -> connection.release -> err",err)
                    } 
                    callBack(err, results, retBuff);
                }
            );
        });
    }
}); 

What to do to close cursor result in nodejs ?

0

There are 0 best solutions below