---
title: "Firebird"
slug: "firebird"
description: "Connect your data easily, quickly, and securely to Firebird with Dataddo. Learn how to create a data flow in just a few steps and get your data insights."
tags: ["Data destination", "Data warehouse", "How-to guide"]
updated: 2025-08-06T20:11:23Z
published: 2025-08-06T20:11:23Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dataddo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Firebird

**Firebird** is an open-source relational database management system (RDBMS) that supports SQL and runs on multiple operating systems, including Windows, Linux, and macOS. It is derived from Borland's InterBase and offers robust features like multi-generational architecture, triggers, and stored procedures while maintaining a small footprint.

## Prerequisites
:::(Error) ()
* You have a running instance of a Firebird server with public IP or hostname.
* You have configured a Firebird user with the following permissions `SELECT`, `INSERT`, `UPDATE`, `DELETE`, and `CREATE TABLE`.
* You have configured your network firewall to allow incoming connection from [Dataddo IPs](/docs/network-acl){target="_blank"}.
:::

## Authorize the Connection to Firebird

### In Firebird
{{snippet.Destinations-Disclaimer}}

#### Create User
1. Open the command prompt or terminal and connect to your Firebird server using `isql`.
2. In `isql`, create a new service user for Dataddo and set a strong password.
    ```sql
    CREATE USER dataddo_user PASSWORD 'password';
    ```
    
#### Set Permissions
Create a new role for Dataddo. We will later grant the user permissions to create and modify data in your database.
    ```sql
    CREATE ROLE dataddo_role;
    ```

Allow Dataddo access to your data based on your security preferences:

1. Grant Dataddo permission to access and modify **specific tables**.
    ```sql
    GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE table1, table2 TO dataddo_role;
    GRANT CREATE TABLE TO dataddo_role;
    ```
2. Grant Dataddo permission to to access and modify **all tables**:
    ```sql
    GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES TO dataddo_role;
    GRANT CREATE TABLE TO dataddo_role;
    ```
3. Grant Dataddo permission to to access and modify the **whole database**.
    ```sql
    GRANT SELECT_ANY_OBJECT_IN_DATABASE TO dataddo_role;
    GRANT ACCESS_ANY_OBJECT_IN_DATABASE TO dataddo_role;
    GRANT MODIFY_ANY_OBJECT_IN_DATABASE TO dataddo_role;
    GRANT CREATE TABLE TO dataddo_role;
    ```

Finally, grant the role to the user.
```sql
GRANT dataddo_role TO dataddo_user;
```

#### Allow Network Connection
For this destination, whitelisting IP addresses is not available in the database system. Instead, you can configure the network access **at the firewall level**. Here are the general steps:

1. **Identify the firewall** that's protecting your service. This could be a Windows or Linux firewall running on the server itself, or it could be a network firewall.
2. Open the **firewall's configuration settings**. This process will vary depending on the type of your firewall.
3. Look for the **setting that allows you to define inbound rules or policies**.
4. Create **a new rule or policy** that allows inbound traffic on the port that the service is using (the default is **3050**) from the [Dataddo IP addresses](/docs/network-acl){target="_blank"}.
5. **Save** your changes and **test the connection from Dataddo** to make sure everything is working as intended.

### In Dataddo
1. On the **Authorizers** page, click on [**Authorize New Service**](https://app.dataddo.com/service/new){target="_blank"} and select **Firebird**.
2. You will be asked to fill the following fields
    1. **Server IP or Hostname**: Public IP or Hostname of your Firebird server.
    2. **Database**: Path to the database you will use for writing or reading the data.
    3. **Username**: Username for your Firebird user.
    4. **Password**: Password associated with the username.
    5.  **Port**: Dataddo uses native connection with default port **3050**.
3. [Optional] Configure your destination using an existing SSH tunnel or [create a new one](/docs/ssh-tunnelling){target="_blank"}.
4. Click on **Save**.

## Create a New Firebird Destination
{{snippet.DestinationGeneral}}

## Create a Flow to Firebird
{{snippet.FlowGeneral}}

***
## Troubleshooting
{{snippet.Troubleshooting RelatedArticles Destinations}}
