DEV Community

Discussion on: Connect to OracleDB from NodeJS?

Collapse
 
janguianof profile image
Jaime Anguiano

Hi Brian,

I think the problem is not the way you are connected from NodeJS to Oracle, but rather the problem is your Oracle host (in this case your macbook or similar). It is not so easy to have an Oracle environment in macOS.

I would try doing the following:
Use Docker to build an Oracle DB locally, so you keep the DB isolated regardless of the base operating system.
Use some instance in the cloud like AWS RDS.

With this we eliminate the possibility that the problem comes from "NodeJS".

Collapse
 
thehanna profile image
Brian Hanna

I have absolutely no control over the DB environment, unfortunately. It's an existing legacy DB that resides in an on-prem data center.

Collapse
 
janguianof profile image
Jaime Anguiano • Edited

good...try with the embedded connection strings


oracledb.getConnection(
  {
    user          : "hr",
    password      : mypw,  // mypw contains the hr schema password
    connectString : "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mymachine.example.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))"
  } 
Thread Thread
 
thehanna profile image
Brian Hanna

I will definitely give this a try in the morning! Thanks!

Thread Thread
 
thehanna profile image
Brian Hanna

Jaime, THANK YOU!!! Your connection string was a huge help, I finally connected successfully! I ended up having to modify it a bit to match with a value I got from a coworkers tnsnames.ora entry file for the same database, so it ended up looking like this:

(DESCRIPTION=
  (ADDRESS=
    (COMMUNITY=subdomain.company.com)
    (PROTOCOL=TCP)
    (HOST=db.company.com)
    (PORT=port_number)
  )
  (CONNECT_DATA=
    (SID=database_name)
    (GLOBAL_NAME=database_name.company.com)
    (SERVER=DEDICATED)
  )
)
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
ianbromwich profile image
Ian B

this worked for me, thank you so much.