npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@rempel/n8n-nodes-oracle

v1.0.15

Published

Oracle Database connector for n8n

Downloads

283

Readme

Oracle Connector for n8n

This connector enables direct integration with Oracle databases in n8n, offering operations to execute queries and SQL statements.

💸 Buy Me a Coffee

If you like this project, please consider buying me a coffee. Thank you for your support!

Buy Me a Coffee


📥 Installation

  1. Install the package in the nodes directory of n8n:
pnpm install @rempel/n8n-nodes-oracle
  1. Restart n8n.

🔑 Credential Configuration

Required Parameters:

| Field | Description | |----------------------------------|----------------------------------------------------------------------------| | Connection Type | Basic (manual details) or Connection String (environment variable) | | Host | Oracle server address (for Basic type only) | | Port | Oracle port (default: 1521) | | Service Name | Database Service Name or SID | | Environment Variable Name | Name of the variable containing the connection string (e.g., ORACLE_CONN_STRING) | | User | Database username | | Password | User password | | Client Mode | Thin (lightweight) or Thick (requires full Oracle client) |


🛠 Available Operations

1. Execute Query (SELECT)

  • SQL Query: SQL query to retrieve data.
    SELECT * FROM employees WHERE department_id = :deptId
  • Parameters: JSON parameters (e.g., {"deptId": 20}).
  • Result Format: Result formatting (Uppercase, Lowercase, Original).

2. Execute Statement (DML/DDL)

  • SQL Query: Commands such as INSERT, UPDATE, or procedure calls.
    INSERT INTO employees (name, role) VALUES (:name, :role)
  • Auto Commit: Enables automatic transaction commit.

Returning Values from a PL/SQL Block

To return a value from a DML command (for example, a newly generated ID from an INSERT), you can use a PL/SQL block with the RETURNING INTO clause. This requires configuring an output bind variable.

1. SQL Query Wrap your DML statement in a BEGIN...END block. Use :your_bind_name as an output variable to capture the returned value.

DECLARE
    v_id NUMBER;
BEGIN
    INSERT INTO employees (
      ...
    ) VALUES (
      ...
    ) RETURNING ID INTO v_id;
    
    :id_out := v_id;
END;

2. Parameters Configure the __outBinds__ key in the Parameters JSON field to define the output variable, specifying its name and data type.

{
  "__outBinds__": {
    "id_out": {
      "type": "NUMBER"
    }
  }
}

This configuration ensures the id_out value is correctly returned in the node's output.


⚙️ Advanced Settings

Connection Pool Options:

| Parameter | Description | Default | |------------------------|--------------------------------------|---------| | Pool Min | Minimum connections in the pool | 1 | | Pool Max | Maximum connections in the pool | 10 | | Queue Timeout (Ms) | Connection wait timeout in ms | 30000 |


📋 Usage Example

Scenario: Employee Query

  1. Credentials:

    • Type: Basic
    • Host: oracle-prod.example.com
    • User/Password: admin/******
  2. Oracle Node:

    • Operation: Execute Query
    • Query:
      SELECT first_name, salary FROM employees WHERE salary > :minSalary
    • Parameters: {"minSalary": 5000}
    • Format: Uppercase
  3. Output:

    [
      { "FIRST_NAME": "John", "SALARY": 7500 },
      { "FIRST_NAME": "Maria", "SALARY": 6200 }
    ]

⚠️ Requirements and Notes

  1. Oracle Client:

    • For Thick mode, set the environment variables:
      ORACLE_CLIENT_LIB_PATH=/path/to/instantclient
      ORACLE_CLIENT_CONFIG_DIR=/path/to/network/admin
  2. Query Validation:

    • The Execute Query operation blocks non-SELECT commands (e.g., INSERT).
  3. Connection Strings:

    • Example of environment variable:
      ORACLE_CONN_STRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle-host)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)))

🔄 Additional Resources

  • Repository: GitHub
  • Support: Submit issues on GitHub to report problems.

Documentation updated for version 1.0.15. Tested with Oracle Database 19c and n8n 1.18+.