--- title: "Exasol" slug: "exasol" description: "Connect Dataddo to Exasol and load data from any source with insert, upsert, or truncate write modes. No coding required." updated: 2026-09-04T07:18:44Z published: 2026-09-04T07:18:44Z canonical: "docs.dataddo.com/exasol" --- > ## 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. # Exasol Exasol is a high-performance, in-memory analytics database built for fast queries on large datasets. This Dataddo destination loads data from any source into a table in your Exasol database. ## Authorize Connection to Exasol ### Prerequisites - A running Exasol instance reachable by Dataddo. If you use a firewall, allow the [Dataddo IPs](/docs/network-acl). - A database user with rights to create tables and to insert, update, and delete rows in the target database. ### Create the authorizer In Authorizers, click Authorize New Service and select Exasol, then fill in the fields: | Field | Description | | --- | --- | | Label | A name so you can recognize the connection later. Default: `Exasol`. | | Server IP or Hostname | Public IP or hostname of your Exasol server. It should not contain whitespaces. | | Database | Name of the database you will use for writing the data. | | Username | Username for authentication. | | Password | Password for authentication. | | Port | Port to connect to Exasol. Default: `8563`. | | TLS/SSL Settings | Keep the value on PREFER to use an SSL connection when available. Use REQUIRED to enforce SSL with no fallback to an unencrypted connection. Default: `require`. | | Use SSH tunnel | Optional. To connect through an SSH tunnel, create it first on the Security settings page, then pick it here. | Click Save. Dataddo validates the connection. ## Create an Exasol Destination Go to Destinations, click Create Destination, and select Exasol. Give the destination a name and choose the authorizer, then click Save. ## Write Modes The write mode decides how each flow run changes the target table. Exasol offers the standard set below, and the default is `insert`. Which modes are available, and whether you can switch modes on an existing flow, can depend on the table's current state. | Mode | Meaning | Composite Key | | --- | --- | --- | | `insert` | Appends new rows on every run. | No | | `insert_ignore` | Appends rows, skipping rows that already exist. | Yes | | `truncate_insert` | Empties the table, then writes the current data. | No | | `upsert` | Inserts new rows and updates existing rows matched by the Composite Key. | Yes | | `update` | Updates existing rows matched by the Composite Key; fails rows with no match. | Yes | | `update_ignore` | Updates matched rows, skipping rows with no match. | Yes | | `delete` | Deletes rows matched by the Composite Key. | Yes | ### Composite Key The Composite Key is the set of columns whose combined values identify each row. Every mode except `insert` and `truncate_insert` needs one. You can select up to 4 columns. ## Table Naming Dataddo creates the table on the first write if it does not exist. When you name the table: - The table name should contain only letters, numbers, underscores, or dashes. - You can put date-range patterns such as `{{1d1}}` in the table name. ## How to Create a Flow to Exasol 1. Go to Flows and click Create Flow. 2. Add one or more sources. 3. Add Exasol as the destination and pick the authorizer. 4. Choose a write mode, and a Composite Key for modes that need one. 5. Set the table name. 6. Set the schedule and click Save. ## Troubleshooting ### Invalid table name The table name does not match Exasol's naming rules. Fix the name in the flow to match the rules in Table Naming, then restart the flow. ### Insufficient privileges The database user cannot create tables or write rows in the target database. Grant the user create, insert, update, and delete rights, then restart the flow. ### Cannot connect to Exasol Dataddo cannot reach Exasol. Check the credentials in the authorizer, and make sure the server is reachable by Dataddo. If you use a firewall, allow the [Dataddo IPs](/docs/network-acl). ## Related Articles - [Data Backfilling to Storages](https://docs.dataddo.com/docs/data-backfilling-to-storages) - [Write Modes](https://docs.dataddo.com/docs/data-storages#write-modes) - [Implementation of Batch Ingestion to Data Warehouses](https://docs.dataddo.com/docs/ingestion-to-data-warehouses) - [Network Access Control List (ACL) Configuration](https://docs.dataddo.com/docs/network-acl) - [SSH Tunnelling](https://docs.dataddo.com/docs/ssh-tunnelling) - [Data Transformations](https://docs.dataddo.com/docs/data-transformations) - [Data Quality Firewall](https://docs.dataddo.com/docs/data-quality-firewall)