Oracle DB
ToolJet can connect to Oracle databases to read and write data.
Connection
To establish a connection with the Oracle DB Datasource, you can either click on the + Add new Data source button located on the query panel or navigate to the Data sources page through the ToolJet dashboard.
Basic Connection
ToolJet requires the following to connect to an Oracle DB datasource:
- Username
- Password
- Host
- Port
- SID / Service Name
- Database Name
- Client Library Location
- Instant Client Version
Enter either a SID or a Service Name depending on your Oracle configuration. A SID identifies a specific database instance, while a Service Name identifies a database service and is commonly used in modern Oracle deployments.
Client Versions and Compatibility
ToolJet uses Oracle DB connections in thick mode and includes the following Oracle Instant Client versions by default:
- Oracle Instant Client 21.10 – Supports Oracle Database 11.2 and later.
- Oracle Instant Client 11.2 – Supports Oracle Database 10.2 and later.
If your environment requires a different Oracle Instant Client version, you can configure ToolJet to use a custom client library by providing its path or mounting it into the deployment.
Thick Mode ( TNS/Wallet File Path)
The following are required to make a Thick Mode Connection with Oracle DB.
- Username
- Password
- TNS alias
- Configuration directory
- Oracle wallet path
- Wallet password
Thin Mode ( TNS/Wallet Zip Upload)
The following are required to make a Thin Mode Connection with Oracle DB.
- Username
- Password
- TNS alias
- Oracle wallet (.zip)
- Wallet password
Dynamic Connection
ToolJet allows overriding Oracle DB connection parameters such as host and database directly at query runtime when dynamic connection parameters are enabled in the Datasource configuration page. This enables a single data source to support multiple environments or tenants without requiring separate configurations.
Querying Oracle DB
- Click on + Add button of the query manager at the bottom panel of the editor.
- Select the OracleDB Datasource added in previous step.
- Select the desired query mode.
- Click on the Preview button to preview the output or Click on the Run button to trigger the query.
Supported Operations
SQL mode
SQL mode can be used to write raw SQL queries.
SELECT first_name, last_name, email
FROM employees
WHERE department_id = 15
ORDER BY last_name;
GUI mode
GUI mode can be used to query Oracle database without writing queries.
- Create a new query and select the Oracle DB Datasource.
- Select GUI mode from the dropdown.
- Choose the operation you want to perform.
- Fetch and select the Table name.
- Click on the Preview button to view the output or click on Run button to trigger the query.
List Rows
Retrieve rows from a table with support for filtering, sorting, and pagination.
Required Parameter
- Table: Select the table from which rows need to be retrieved.
Optional Parameters
- Filter: Apply conditions to return only rows that match specific criteria.
- Sort: Arrange the returned rows in ascending or descending order based on selected columns.
- Aggregate: Apply aggregate functions such as count, sum, average, minimum, or maximum on selected columns.
- Group by: Group rows that share the same values in selected columns into summarized results.
- Limit: Restricts the number of rows returned in the result.
- Offset: Skips a specified number of rows before starting to return results.
Create Rows
Insert a new row into the selected table by providing values for the required columns.
In the editor, ensure the Columns input is provided in string format.
Required Parameter
- Columns: Specifies the table columns and their corresponding values to be inserted when creating a new row.
Update Rows
Modify existing row values in the selected table based on the specified conditions or identifiers.
In the editor, ensure the Columns input is provided in string format.
Required Parameter
- Columns: Specify the column names and values to be updated in the selected row(s).
Optional Parameter
- Filter: Apply conditions to identify which row(s) should be updated.
Delete Rows
Remove one or more rows from the selected table that match the given conditions.
Optional Parameters
- Filter: Apply conditions to specify which row(s) should be deleted.
- Limit: Specify the maximum number of rows to delete.
Upsert Rows
Insert a new row or update an existing row if a matching primary or unique key already exists.
In the editor, ensure the Columns input is provided in string format.
Required Parameters
- Primary key column(s): Specifies the column(s) used to identify whether a row already exists for updating or if a new row should be inserted.
- Columns: Provide the column names and values to be inserted or updated.
Bulk Insert
Inserts multiple rows into the table in a single operation using an array of records.
Required Parameters
- Table : Select the table into which multiple rows need to be inserted.
- Records to insert: Provide the set of rows and corresponding column values to be inserted in a single operation.
Example Values
{{ [
{ id: 15, firstname: 'John' },
{ id: 16, firstname: 'Doe' },
{ id: 17, firstname: 'Alice' },
{ id: 18, firstname: 'Bob' },
{ id: 19, firstname: 'Charlie' },
{ id: 20, firstname: 'David' },
{ id: 21, firstname: 'Emma' },
{ id: 22, firstname: 'Frank' },
{ id: 23, firstname: 'Grace' },
{ id: 24, firstname: 'Henry' }
] }}
Bulk Update using Primary Key
Update multiple existing rows at once by matching records using their primary key values.
Required Parameters
- Primary key column(s): Specify the primary key column(s) used to identify the rows that need to be updated.
- Records to update: Provide multiple records with updated column values for the matching primary key rows.
Example Values
{{ [
{ id: 15, firstname: 'John Doe' },
{ id: 16, firstname: 'Alice Bob' },
{ id: 17, firstname: 'Emma Frank' },
{ id: 18, firstname: 'Grace Henry' }
] }}
Bulk Upsert using Primary Key
Insert multiple new rows or update existing ones by matching rows using primary key values.
Required Parameters
- Primary key column(s): Specify the primary key column(s) used to determine whether each record should be updated or inserted.
- Records to upsert: Provide multiple records that will be inserted as new rows or updated if matching primary key values already exist.
In this operation, if a row with the matching primary key exists, it is updated; otherwise, a new row is inserted.
Query results can be transformed using transformations. Read our transformation documentation to see how: link