-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Oracle Database SQL Node Documentation (#1) #3627
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for n8n-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
* - Initial document changes . --------- Co-authored-by: sudarshan soma <[email protected]> Co-authored-by: sudarshan soma <[email protected]>
|
Thanks @sudarshan12s! We'll hold off on reviewing this until the PR is ready to go in the main repo. |
|
You have run out of free Bugbot PR reviews for this billing cycle. This will reset on November 5. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
|
The code PR is merged now, Can you please take a look and share your feedback. Thanks. |
|
@imchairmanm , Now the code PR is merged, Can you review and let me know your feedback. Thanks. |
|
|
||
| # Oracle Database node | ||
|
|
||
| Use the Oracle Database node to automate work in Oracle Database, and integrate Oracle Database with other applications. n8n has built-in support for a wide range of Oracle Database features, including executing an SQL query, as well as inserting, and updating rows in a database. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps add the Oracle Database and Oracle Client versions supported here.
|
|
||
| # Oracle Database node | ||
|
|
||
| Use the Oracle Database node to automate work in Oracle Database, and integrate Oracle Database with other applications. n8n has built-in support for a wide range of Oracle Database features, including executing an SQL query, as well as inserting, and updating rows in a database. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...which includes executing an SQL query, fetching, inserting, updating or deleting data from Oracle Database.
|
|
||
| #### Delete options | ||
|
|
||
| - **Auto Commit**: Whether this property is true, then the transaction in the current connection is automatically committed at the end of statement execution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When this property is set to true, the transaction in the current connection is automatically committed at the end of statement execution.
|
|
||
| #### Execute Statement options | ||
|
|
||
| - **Auto Commit**: Whether this property is true, then the transaction in the current connection is automatically committed at the end of statement execution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When this property is set to true, the transaction in the current connection is automatically committed at the end of statement execution.
|
|
||
| - **Auto Commit**: Whether this property is true, then the transaction in the current connection is automatically committed at the end of statement execution. | ||
| - **Bind Variable Placeholder Values**: Enter the values for the bind parameters used in the statement [Use bind parameters](#use-bind-parameters). | ||
| - **Output Numbers As String**: Whether the numbers should be retrieved as string. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indicates if the numbers should be retrieved as a String.
|
|
||
| #### Insert options | ||
|
|
||
| - **Auto Commit**: Whether this property is true, then the transaction in the current connection is automatically committed at the end of statement execution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When this property is set to true, the transaction in the current connection is automatically committed at the end of statement execution.
Please make the change in all the places where the Auto Commit option is described.
nav.yml
Outdated
| - Common issues: integrations/builtin/app-nodes/n8n-nodes-langchain.openai/common-issues.md | ||
| - OpenThesaurus: integrations/builtin/app-nodes/n8n-nodes-base.openthesaurus.md | ||
| - OpenWeatherMap: integrations/builtin/app-nodes/n8n-nodes-base.openweathermap.md | ||
| - OracleDB: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pehaps say Oracle Database instead of OracleDB
|
|
||
| ## Use bind parameters | ||
|
|
||
| When creating a query to run on a Oracle database, you can use the **Bind Variable Placeholder Values** field in the **Options** section to load data into the query. n8n sanitizes data in query parameters, which prevents SQL injection. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...When creating a query to run on an Oracle Database instance or service, ...
|
|
||
| When creating a query to run on a Oracle database, you can use the **Bind Variable Placeholder Values** field in the **Options** section to load data into the query. n8n sanitizes data in query parameters, which prevents SQL injection. | ||
|
|
||
| For example, you want to find a specific fruits by their color. Given the following input data: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...For example, you would want to find specific fruits by their color....
|
|
||
| - A **User** name. | ||
| - A **Password** for that user. | ||
| - **Connection String**: The Oracle database instance to connect to. The string can be an Easy Connect string, or a Net Service Name from a tnsnames.ora file, or the name of a local Oracle database instance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...The Oracle Database instance...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change "Net Service Name" to "TNS Alias".
|
|
||
| - **Auto Commit**: Whether this property is true, then the transaction in the current connection is automatically committed at the end of statement execution. | ||
| - **Statement Batching**: The way to send queries to the database: | ||
| - **Single Statement**: A single Statement for all incoming items. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd vote to change the sentence use of "Statement" to all lowercase in these three bullets. The initcap is fine in the bold text - and I guess it is the UI element name, anyway.
| #### Delete options | ||
|
|
||
| - **Auto Commit**: Whether this property is true, then the transaction in the current connection is automatically committed at the end of statement execution. | ||
| - **Statement Batching**: The way to send queries to the database: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In Oracle-land, 'query' is specific to statements that fetch rows so I think this needs to change 'queries' to 'statements'.
Other places in the doc may also need a similar change.
| - **Credential to connect with**: Create or select an existing [Oracle Database credential](/integrations/builtin/credentials/oracledb.md). | ||
| - **Operation**: Select **Insert or Update**. | ||
| - **Schema**: Choose the schema that contains the table you want to work on. Select **From list** to choose the schema from the dropdown list or **By Name** to enter the schema name. | ||
| - **Table**: Choose the table that you want to work on. Select **From list** to choose the table from the dropdown list or **By Name** to enter the table name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor smoothing on "from the dropdown list or By Name" would improve the flow. I'd say "from the dropdown list, or select By Name"
| - **Return All**: Whether to return all results or only up to a given limit. | ||
| - **Limit**: The maximum number of items to return when **Return All** is disabled. | ||
| - **Select Rows**: Set the conditions to select rows. Define a **Column**, **Operator**, and **Value**(as `json`) to match rows on. If you don't select anything, Oracle Database selects all rows. | ||
| - **Combine Conditions**: How to combine the conditions in **Select Rows**. **AND** requires all conditions to be true, while **OR** requires at least one condition to be true. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would flow better if some non bold text separated the two bold clauses. Maybe "The AND choice..."? Or something better than "choice"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
modified as below:
How to combine the conditions in **Select Rows**. The **AND** requires all conditions to be true, while **OR** requires at least one condition to be true.
|
|
||
| ## Related resources | ||
|
|
||
| Refer to [SQL Language Reference](https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/index.html) for more information about the service. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use the redirecting link https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=SQLRF
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
|
|
||
| ## Prerequisites | ||
|
|
||
| Create a user account on a [OracleDB](https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/CREATE-USER.html) server database. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use the redirecting link https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-F0246961-558F-480B-AC0F-14B50134621C
|
|
||
| - A **User** name. | ||
| - A **Password** for that user. | ||
| - **Connection String**: The Oracle database instance to connect to. The string can be an Easy Connect string, or a Net Service Name from a tnsnames.ora file, or the name of a local Oracle database instance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change "Net Service Name" to "TNS Alias".
| - A **User** name. | ||
| - A **Password** for that user. | ||
| - **Connection String**: The Oracle database instance to connect to. The string can be an Easy Connect string, or a Net Service Name from a tnsnames.ora file, or the name of a local Oracle database instance. | ||
| - **Use Optional Oracle Client Libraries**: If you want to use node-oracledb Thick mode, turn this on. This option will not be available in official n8n docker images. Additional settings to enable thick mode are required. Refer to [Enabling Thick mode documentation](https://node-oracledb.readthedocs.io/en/latest/user_guide/initialization.html#enabling-node-oracledb-thick-mode) for more information. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change "will not be" to "is not".
And change the lowercase "thick" to "Thick".
|
|
||
| To set up your database connection credential: | ||
|
|
||
| 1. Enter your database's username as the **User** in your n8n credential. Run this query to confirm the username: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are the SQL statements in these steps useful? What are the cases where users can run them but didn't already need the values to connect?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have removed the sql's and just mentioned to enter DB username.
| can be used to dump file contents in the **Wallet Content** field. | ||
| Refer to [Node OracleDB ](https://node-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html#mutual-tls-connections-to-oracle-cloud-autonomous-database) for more information on working with TLS connections. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change "Node OracleDB" to "node-oracledb"
|
Thanks for the review comments. I have addressed them, Please see. |
| Refer to [SQL Language Reference](https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=SQLRF) for more information about the service. | ||
|
|
||
| Refer to [Node OracleDB ](https://node-oracledb.readthedocs.io/en/latest/) for more information about the oracledb client driver. | ||
| Refer to [node-oracledb](https://node-oracledb.readthedocs.io/en/latest/) for more information about the oracledb client driver. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"the node-oracledb driver"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And Refer to [node-oracledb documentation]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
@sudarshan12s Thanks for the ping. I'm no longer at n8n, so I'd suggest asking @HumanistSerif for a review! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved
|
@HumanistSerif Since the corresponding PR is merged, request you to review and let us know your feedback. |
Ditto. |
This pull request adds documentation for the Oracle Database in n8n Node.
It includes documentation for
Documentation additions:
Added comprehensive documentation for the Oracle Database node operations.
Credentials update:
Added details on the credential parameters .
Related node PR