I'm Trying to connect my local NodeJS application to my Oracle database which is in a Docker container. Here is my index.js
const express = require('express');
const oracledb = require('oracledb');
const app = express();
oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT;
async function conexion(){
let conexion;
try{
conexion = await oracledb.getConnection({
user :"myuser",
password :"123456",
connectString :"172.17.0.2/ORCLCDB" //this is the IP of the docker container
});
const data = await conexion.execute(
'SELECT * FROM Pais',
);
console.log(data.rows);
} catch(err){
console.error(err);
}
}
app.use(express.json());
var port = process.env.PORT || 8080
conexion();
app.listen(port)
console.log('API escuchando en el puerto ' + port)
But I get this error when running my NodeJS app:
API escuchando en el puerto 8080
Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/node-oracledb/INSTALL.html for help
Node-oracledb installation instructions: https://oracle.github.io/node-oracledb/INSTALL.html
You must have 64-bit Oracle Client libraries configured with ldconfig, or in LD_LIBRARY_PATH.
If you do not have Oracle Database on this computer, then install the Instant Client Basic or Basic Light package from
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async conexion (/home/pedrocastro/Universidad/2S-2022/BASES1/Proyecto1_API/index.js:11:20) {
errorNum: 0,
offset: 0
}
How can I solve this??