Firebird, ODBC or JDBC?

I need to connect to a Firebird database, is there any way to connect to ODBC/JDBC or even to connect to Firebird directly?
Btw there is a huge gap in the market, there is not one of all these 20 Make.com, Zapier, etc. etc. Service that can connect to a xDBC. Most of them are cloud base, but since N8N can be installed locally it should be much easier.

If there is no way, how much would be eventually the cost to implement xDBC?

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

hello @GutN8N

Actually, you can develop your own custom node in n8n, or you can create a wrapper in some cloud services, like AWS Lambda, and use n8n to invoke that lambda to work with anything you want.

@GutN8N you can use api if they provide in http node

Thanks, but its a local installation and it should stay local.

How could I generate a API from Firebird 2.5.9 ?

I just found this, but I am on Ubuntu not Docker and I really dont understand this fully.

Untill now I installed ODBC regulary under Ubuntu and could open the connection to another Server localy, does this mean I need to install it as a NPM package to make it availabale under N8N?

Why is the regular ODBC driver not working?

Hey @GutN8N,

Don’t forget that JDBC is a Java thing and that is not the same as JavaScript. We also don’t have a generic ODBC connector so you would need to created something for that possibly using the ODBC package from NPM but you would need to know what you are doing to get that up and running as it isn’t something we directly support.

I would also recommend using the Docker version of n8n as that is the version we test against and if you install using npm on your system there are things that will be different and could cause unexpected results so for testing npm is all good but for production Docker is the way to handle it.

Finaly I found a solution under Ubuntu, since it took a few days here is a description which at least should guide in the right direction. This guide was made by help of GPT, please excuse if soemthing is not right, after a few days this is my best I could give :slight_smile:

Please find the data to replace like

User=SYSDBA
Pass=masterkey 
ODBC DNS= 192.168.1.10 

etc, you need at least a basic understanding how to install things on linux.

Prerequisites

n8n  installed
Node.js and NPM installed
ODBC Driver installed
Configured ODBC data source which allready has a working connection

Steps
Configure ODBC Data Source

Edit the odbc.ini file to define your data source. This file is typically located at /etc/odbc.ini for system-wide DSNs or ~/.odbc.ini for user-specific DSNs.

Example configuration in odbc.ini:

[ODBC Data Sources]
FIREBIRD_SAMPLE=Firebird ODBC Driver

[FIREBIRD_SAMPLE]
Driver=Firebird ODBC Driver
Database=192.168.1.10:C:\DB\DATA.FDB
Port=3050
User=SYSDBA
Password=masterkey

Create Node.js Script

Create a Node.js script that uses the odbc library to connect to the database and execute a SQL query.

Example file Name odbc_select.js:

const odbc = require('odbc');

async function runQuery() {
  const connectionString = 'DSN=FIREBIRD_SAMPLE;UID=SYSDBA;PWD=masterkey;';
  try {
    const connection = await odbc.connect(connectionString);
    const result = await connection.query('SELECT * FROM YourTable');
    console.log(JSON.stringify(result));
    await connection.close();
  } catch (err) {
    console.error('Error executing query:', err);
  }
}

runQuery();

Test Node.js Script

Ensure the script works correctly by running it directly from the command line.

node /path/to/odbc_select.js

Configure n8n Workflow

Add an “Execute Command” node to your n8n workflow and configure it to run your Node.js script.

Command:

node /path/to/odbc_select.js

Execute Workflow

Start the workflow in n8n and check the output of the “Execute Command” node to ensure the data is queried and returned as expected.

Notes

Ensure the n8n process has permission to execute the script and access the required files.
Using the absolute path to the script in the “Execute Command” node helps avoid path issues.
Check the permissions and location of the odbc.ini file to ensure your ODBC configuration is correctly loaded.

This guide provides a basic overview for setting up an ODBC connection in n8n using a generic ODBC driver. Depending on your specific environment and configuration, additional adjustments may be necessary.

2 Likes

Hello GutN8N,

The performance level is this correct?
are you doing this for production?

Regards,

Sorry, I dont understand. I use this for a local insalltion, so there is no real risk.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.