Use Oracle Database with Publify
Linux
In order to connect your Node.js application to an Oracle Database, you need to install the following packages.
- libaio
- Oracle Instant Client (and SDK)
- oracledb Node.js module
Step 1: Install libaio
Execute the following command:
$ sudo apt-get install libaio1
Step 2: Install Oracle Instant Client and Oracle Instant Client SDK
Download both instantclient-basic-linux.x64.zip and instantclient-sdk-linux.x64.zip. Remember to replace the X.Y.Z placeholder with the corresponding version. Download instantclient-basic-linux.x64-X.Y.Z.zip and instantclient-sdk-linux.x64-X.Y.Z.zip (we will use them in the rest of the examples).
Uncompress instantclient-basic-linux.x64.zip by executing the following command:
$ unzip instantclient-basic-linux.x64-X.Y.Z.zip
Copy the extracted contents to /opt/bitnami/common/lib:
$ sudo cp -r *instantclient_X_Y/ /opt/bitnami/common/lib
Execute the following command:
$ sudo ln -s /opt/bitnami/common/lib/libclntsh.so.X.Y /opt/bitnami/common/lib/libclntsh.so
Extract instantclient-sdk-linux.x64-X.Y.Z.zip:
$ unzip instantclient-sdk-linux.x64-X.Y.Z.zip
Copy the contents of the sdk subfolder to /opt/bitnami/common/include:
$ sudo cp -r instantclient_X_Y/sdk/include/* /opt/bitnami/common/include
Step 3: Install OracleDB Node.js module
Before installing, set the following environment variables:
$ export OCI_LIB_DIR=/opt/bitnami/common/lib $ export OCI_INC_DIR=/opt/bitnami/common/include
In your Node.js application folder, execute the following command:
$ npm install oracledb
Step 4: Test the connection
In order to test that the plugin was installed correctly, execute one of the examples detailed in the OracleDB Node.js module documentation.
Download this example from the OracleDB Node.js module website.
In the same folder where connect.js was downloaded, create the file dbconfig.js with the following contents (remembering to replace the DATABASE_USER, DATABASE_PASSWORD and DATABASE_CONNECTION_STRING placeholders with the correct values):
module.exports = { user : "DATABASE_USER", password : "DATABASE_PASSWORD", connectString : "DATABASE_CONNECTION_STRING" };
For example:
module.exports = { user : "SYSTEM", password : "mypassword", connectString : "127.0.0.1:1521/PDB1.oracleuser.oraclecloud.internal" };
Run the testing program:
$ node connect.js
If everything was correct, you should see the message “Connection was successful!”