oracle / node-oracledb

Oracle Database driver for Node.js maintained by Oracle Corp.
http://oracle.github.io/node-oracledb/
Other
2.24k stars 1.07k forks source link

Node version 20 upgrade is failing with node-oracledb v6.5.1 #1682

Open rajive007 opened 5 days ago

rajive007 commented 5 days ago

My node version upgrade to 20 is failing with node-oracledb v6.5.1 on Oracle Db with encryption. But it works good with oracle DB without encryption.Error received is NJS-500: connection to the Oracle Database was broken\nNJS-521

sharadraju commented 5 days ago

Please define what encryption means? Do you mean NNE on Oracle Database? Also, what is the node-oracledb version that you are upgrading from? What is your Oracle Database version? What is the platform on which node-oracledb is installed?

Node-oracledb 6.0 comes with a default 'Thin' mode, which does not support NNE yet. You have to enable 'Thick' mode in your application to support NNE. There are already a lot of discussions going on in the repo about this.

rajive007 commented 5 days ago

Thanks for the quick response. Below are the request details.

Yes Encryption is NNE on oracle db. We are upgrading from node 16 to 20 version with node-oracledb 4.2.0 to node-oracledb 6.5.1 version The platform that the lambda is running on is Linux. We are using thick mode on code.

And also do you recommend any other version of node-oracledb which can be used as a work around for this issue.

anthony-tuininga commented 5 days ago

Thin mode (the default) does not support NNE currently. You have to use thick mode. node-oracledb 4.2.0 only had thick mode but node-oracledb 6.5.1 uses thin mode by default, so you have to add a call to oracledb.initOracleClient() before creating your first connection. Thick mode supports NNE so your connection issues should go away.

cjbj commented 4 days ago

@rajive007 see the doc Enabling node-oracledb Thick Mode.

rajive007 commented 2 days ago

I will try the above options and let you know in case of issue.