Appear Unknown error when Insert Data into Oracle

Hi Community,

I created a node that is inserting data into OracleDB.
It uses package ‘oracledb’ → [import * as oracledb from 'oracledb';] to create a connection for executing a SQL query [oracledb.getConnection].

However, it cannot execute an insert statement properly with the following error:

There are several conditions that I found:

  1. When I change to execute a select statement, it works fine and does not show any error.
  2. The node can execute an insert statement when I use (npm run dev) to start n8n
  3. The node cannot execute an insert statement when I use docker to start n8n

The issue happens only in the environment with two workers and two webhook workers.
Therefore, may I know where is the place of storage the error log when use docker to start n8n, instead of getting an error response with an unknown reason, and how to fix this issue.

Many thanks!

Hey @savina_kau,

Do you get an errors when you build n8n? It can be a case that the build is failing. You can use the docker logs command to log any error message that has been thrown. I would also suggest you setup logs in n8n. Here’s the link to the documentation: Logging in n8n | Docs

1 Like

Hi @harshil1712 ,

After I set up logs in n8n, I found that there is a file called “WorkflowExecuteAdditionalData.js” (Logging), it may contain the error logs of why I cannot insert Data into Oracle? Where can I found this file?

Moreover, base on the logs of the below picture, do you know what is the root cause of this issue?

Many thanks!

Hello @savina_kau

I need some additional information to help you. The Oracle node is custom, right? You have built it yourself or are you using one of n8n’s native nodes?

If it’s custom, it is important to make sure that both n8n, workers and webhooks are all running the exact same version of n8n and all connect to the same database.

Also can you activate logging for the worker processes? These can add some useful information. Each instance of n8n, be it a regular process, worker or webhook, can generate different log messages.

Let me know if you need any clarifications!

Hi @krynble

The node is custom.
Both n8n, workers and webhooks are all running the exact same version of n8n and all connect to the same database.

The environment of my workers is already added N8N_LOG_LEVEL=debug and N8N_LOG_OUTPUT=console. But it does not show any useful logs… Only n8n has appeared the log.

I have seen that error before but it wasn’t with n8n. Are you using SQLite with n8n and when you say it is oracle you are connecting to which version is it?

Have you also checked the oracle db logs at the same time to see what that is coming back with?

Ok so there is another test we can do. Try running n8n without setting EXECUTIONS_MODE=queue (i.e. standalone mode). See if your workflow runs fine.

This will allow us to isolate the problem to see if there is a problem with queue mode or something wrong with the node itself.

Hi @krynble
After I remove EXECUTIONS_MODE=queue, it still appears the same error…(“Workflow execution process did crash for an unknown reason!”)

What can I do? Thanks

Hey @savina_kau

This is strange, as it means it is not a problem with the queue mode. This could be an issue with the node itself, although n8n would still handle errors in such cases.

One possibility is that some handling is not being done (such as closing connections, reopening, etc) and causing Oracle to send a bad reply to n8n. Another possibility is that the libray is crashing due to connectivity issues.

As far as I can tell, the errors you are getting are probably from the node code, and not n8n itself.

If your node can be made public, I would ask you to share it so we can have a look at your code.

@savina_kau hello how did you manage to insert the oracle connector in the n8n. could you give me a tutorial? i need to connect to an oracle base to execute a view

2 Likes

Hello @savina_kau, were you able to make the connection with oracle?