Configuring Firebird as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Firebird option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need the connection credentials for your Firebird database.Because Nekt runs in the cloud, it needs network access to the Firebird port (default
3050). If the database is on a private network, expose it securely, ideally through an SSH tunnel (see step 3), or a tightly firewalled port forward restricted to Nekt’s egress IPs.2. Configuration Options
- Host: The hostname or IP address of your Firebird server. Use
127.0.0.1when connecting through an SSH tunnel. - Port: The port number for your database connection. The default port for Firebird is
3050. - Database File Path: The path to the database file on the server, for example
C:/SCI/BANCO/VSCI.SDB. - User: The username for authenticating with the database.
- Password: The password for the database user.
Advanced Settings
- Charset: The connection charset. SCI Único databases use
WIN1252(the default). - Role (optional): The Firebird role to connect with. Leave blank if not used.
- Filter Tables (optional): An allowlist of table/view names to discover (case-insensitive). Strongly recommended for large databases, an SCI Único base has around 3,600 tables, and discovering all of them is slow. Note: Firebird discovery lists every table, granted or not. A read-only user will see tables it cannot
SELECT, and syncing them fails withno permission for SELECT. Use this filter to match your grants. - Filter Table Prefixes (optional): A list of name prefixes to discover (case-insensitive), for example
TEMPRESAS,VSUC,VRH. Combined with Filter Tables as a union. Also highly recommended to restrict discovery to tables your user has permission to access. - Chunk Size: The number of rows to fetch at a time. Default is
20000. Set to0to fetch all rows at once (not recommended for large tables). - Use Batch Query: Use keyset pagination with retry logic for large tables. Requires a primary key.
3. SSH Tunnel (optional)
If your Firebird database is behind a firewall or on a private network, you can connect through an SSH tunnel (bastion host).How to configure SSH Tunnel
How to configure SSH Tunnel
1
Enable SSH Tunnel
Toggle the SSH Tunnel option to enabled.
2
Enter SSH Server Details
- SSH Host: The hostname of your bastion/jump server.
- SSH Port: The SSH port (default:
22). - SSH Username: Your SSH username.
3
Provide Authentication
Use either a password or a private key:
- SSH Password: Password for the SSH server, OR
- SSH Private Key: PEM-formatted private key for key-based authentication. If your key requires a password to decrypt it, you must also provide the SSH Password.
127.0.0.1 so the connection is routed through the tunnel to the remote database.Host resolution: The Host field is resolved by the bastion server, not by the Nekt connector. If your SSH key is restricted by a
permitopen="HOST:PORT" directive on the bastion, the Host value you configure must match that string exactly (a hostname vs. IP address mismatch will be refused as “administratively prohibited”).4. Select streams
After configuring your connection, Nekt will discover the available tables and views from your Firebird database (scoped by your table filters). Select the tables you want to sync.5. Configure data streams
For each selected table, you can configure:- Replication method: Choose between Full Table (complete sync each run) or Incremental (only new/updated rows based on a replication key column).
- Replication key: For incremental sync, select the column that tracks changes (typically a timestamp or auto-incrementing ID column).
6. Verify and save
Review your configuration and click Save. Nekt will begin syncing data from your Firebird database on the configured schedule.Supported Data Types
Firebird data types are automatically mapped to the appropriate types in Nekt’s Catalog:Implementation Notes
SSH Tunnel Teardown & Authentication
To ensure runs gracefully terminate, the connector strictly handles SSH tunnel teardowns. FirebirdSQL sockets lack timeouts; if an SSH tunnel is dropped before pooled database connections are cleanly disposed, the underlying connection will block indefinitely on a network read, causing syncs to hang. Additionally, SSH authentication exclusively uses the provided configurations. It intentionally bypasses any local or runtime SSH agents (allow_agent=False) and typical host key directories, guaranteeing that connections only succeed using your explicitly provided password or decrypted private key.