This article is the reference for every database connection Etlworks supports — relational, cloud data warehouses, and NoSQL. Each connector has its own section with a JDBC / native URL template, the fields you fill in, the default port, and the gotchas worth knowing before you go to production.
When to use a database Connection
You'll create a database connection any time you need to:
- Read from or write to a database in a source-to-destination transformation.
- Use one of the flows optimized for a specific warehouse — Snowflake, Redshift, Azure Synapse Analytics or Microsoft Fabric Warehouse, Google BigQuery, Vertica, Greenplum, or Databricks.
- Run any of the flows that bulk load data into a database.
- Execute any SQL.
- Run a change-data-capture (CDC) pipeline.
Read how to work with databases for the end-to-end picture.
Prerequisites
Etlworks must be able to reach the database. If the database is behind a firewall:
- Open an SSH tunnel — configurable per connection.
- Whitelist the Etlworks IP. For the shared instance app.etlworks.com, the IP is 18.188.180.116.
- Run a data integration agent behind the firewall.
Available connectors
Etlworks ships native connectors for every database listed below. Anchors on each row link to the configuration reference for that connector.
| Class | Connectors |
|---|---|
| Open-source relational | PostgreSQL, MySQL, MariaDB, SQLite, Derby |
| Commercial relational | Oracle, MS SQL Server, IBM DB2, IBM AS400, Informix, Sybase ASE, Teradata, SAP HANA, Microsoft Access |
| Cloud data warehouses | Snowflake, Amazon Redshift, Google BigQuery, Azure Synapse Analytics, Microsoft Fabric Warehouse, Vertica, Greenplum, Databricks, Amazon Athena, ClickHouse |
| AWS managed | Amazon RDS, Aurora PostgreSQL, Aurora MySQL |
| NoSQL — included | MongoDB, Redis, Neo4j, Apache Hive |
| NoSQL — premium | Cassandra, HBase, Cosmos DB, DynamoDB, Couchbase, HarperDB, Btrieve ,Elasticseach — require a premium connector license. |
Create a database Connection
To create a database connection, open Connections, click +, search the gallery for the database you need, and pick it. Every database connection screen has the same shape; the fields below the search bar change per database.
Every per-connector section in this article follows the same structure, so you know what to look for:
- What it is. One line on the connector class and what it's best at.
- URL template. The exact JDBC (or native) URL the connector emits, with {tokens} for the values you supply.
- What to fill in. The fields on the connection form that go into the URL or auth.
- Authentication options. Listed only for connectors that support more than username / password.
- Worth knowing. The defaults, quirks, and gotchas users hit in production.
- Vendor docs. Link to the driver's reference for everything else.
Other parameters
The Other parameters field accepts ;-separated driver-level JDBC options — for example useSSL=true;sslmode=require. The exact keys depend on the driver; consult the vendor docs link inside each connector's section.
Handle metadata
Etlworks reads database metadata (tables, columns, types) on connect. To restrict the scan to a specific schema set the Schema field on the connection; otherwise metadata is loaded for every schema visible to the user, which can be slow on large catalogs.
Fetch size, max records, max field size
JDBC Fetch Size controls how many rows the driver buffers per round trip (default 50000). Lower it when memory is tight; raise it for wide-row workloads to cut round-trip overhead. Max Rows to Read and Max Field Size are testing throttles — leave them blank for production. See Fetch size and Max records for details.
Connect to a database over SSH tunnel
Every database connection has an SSH tunnel section. Provide the SSH host, port, user, and either a password or a private key (with optional passphrase). When the connection opens, Etlworks dials the SSH host first, then makes the database connection through the tunnel.
See Use SSH tunnel for details.
Data Types Overrides
If your downstream pipeline needs the remap data types, use Data Type Overrides on the connection to remap.
See Automatically create or alter a destination table.
Connect to Oracle
What it is. Commercial relational database. The Etlworks connector supports SID, Service Name, TNS and LADAP based connections.
URL template.
jdbc:oracle:thin:@{host}:{port}:{SID}What to fill in.
| Field | What to enter |
|---|---|
| Host | Hostname or IP of the Oracle listener. |
| Port | Default 1521. Change if your DBA configured a non-standard port. |
| Oracle SID | The Oracle SID (not service name). For service-name-style URLs, use jdbc:oracle:thin:@//host:port/service_name in the URL field directly. |
| User | Oracle username. |
| Password | Oracle password. |
| Schema | Optional. Set it to limit metadata discovery to a single schema; otherwise Etlworks reads metadata for every schema the user can see. |
Default port: 1521. Driver: Oracle Thin JDBC (oracle.jdbc.driver.OracleDriver).
Worth knowing.
- Service-name connections require editing the URL after the connector generates the SID-style URL — switch host:port:SID to //host:port/service.
- On very large data dictionaries, setting Schema can make the connection open dramatically faster.
Driver reference: Oracle JDBC driver options.
Connect to MS SQL Server
What it is. Microsoft SQL Server. The connector supports six authentication methods, selectable on the connection form.
URL template.
jdbc:sqlserver://{host}:{port};DatabaseName={database}What to fill in.
| Field | What to enter |
|---|---|
| Host | SQL Server hostname or IP. |
| Port | Default 1433. |
| Database | Target database name. |
| Authentication | One of: SQL Server authentication (default), Windows / NTLM, Azure AD Password, Azure AD Service Principal, Azure AD Interactive, Managed Identity (MSI). See below. |
Default port: 1433. Driver: Microsoft JDBC Driver for SQL Server.
Authentication options.
| Method | Extra fields |
|---|---|
| SQL Server authentication (default) | User, Password |
| Windows / NTLM | Domain, User (as domain\\user), Password |
| Azure AD Password | User (Azure AD email), Password |
| Azure AD Service Principal | User (app-client-id@tenant-id), Password (client secret) |
| Azure AD Interactive | OAuth consent on first use |
| Managed Identity (MSI) | No credentials — requires Etlworks running on an Azure VM with MSI enabled |
Worth knowing.
- NTLM requires the user field in domain\\username form — the bare username will not authenticate.
- Azure AD Service Principal requires the user field in app-client-id@tenant-id form; the password is the client secret.
- MSI works only when Etlworks itself is running on a managed-identity-enabled Azure VM.
Driver reference: SQL Server JDBC connection properties.
Connect to MS SQL Server using SQL Server authentication (default)
Select SQL Server authentication on the connection form. Enter User and Password as configured in SQL Server.
Connect to MS SQL Server using Windows Authentication (NTLM)
Select Windows Authentication (NTLM). Enter Domain, then put the User in domain\\username form (the connector substitutes the domain into the URL). The generated URL will include authenticationScheme=NTLM;integratedSecurity=true.
Connect to MS SQL Server using Azure Active Directory authentication
For three Azure AD modes (Password, Service Principal, Interactive), select the corresponding option in Authentication. For service-principal auth see the Azure SQL service-principal tutorial. For details on the underlying driver options see Connecting using Azure Active Directory authentication.
Connect to IBM DB2
What it is. IBM Db2 for LUW (Linux / Unix / Windows). Uses the IBM-supplied JCC driver.
URL template.
jdbc:db2://{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | DB2 server hostname or IP. |
| Port | Default 50000. Many production deployments use 446 or a custom port — verify with your DBA. |
| Database | Database name (the DBNAME, not the schema). |
| User | DB2 username. |
| Password | DB2 password. |
| Schema | Optional. Set it to limit metadata discovery. |
Default port: 50000. Driver: IBM DB2 JCC Type 4 (com.ibm.db2.jcc.DB2Driver).
Worth knowing.
- DB2's default port differs significantly from other databases (most use 5xxx or 1xxx); double-check.
- Set Schema when you have many schemas — metadata can be slow on large catalogs.
Driver reference: DB2 JDBC driver connection properties.
Connect to IBM AS400
What it is. IBM i (formerly AS400 / iSeries) DB2 for i. Uses the JTOpen driver.
URL template.
jdbc:as400://{host};database name={database}What to fill in.
| Field | What to enter |
|---|---|
| Host | AS400 host or IP. |
| Database name | Database name. Note: the field maps to database name= (with a space) in the URL — this is JTOpen's syntax. |
| User | AS400 user profile. |
| Password | User profile password. |
| Schema | Optional. Limits metadata discovery. |
Default port: (implicit in protocol). Driver: JTOpen (com.ibm.as400.access.AS400JDBCDriver).
Worth knowing.
- AS400 URL syntax is unusual — database name= with a space, not the JDBC-standard ?database= query parameter.
- There's no explicit port — JTOpen negotiates the port via the AS400 protocol.
Driver reference: JTOpen JDBC properties.
Connect to PostgreSQL
What it is. PostgreSQL. The connector also handles every PostgreSQL-compatible database that doesn't have its own dedicated section — Aurora PostgreSQL, Crunchy Data, Supabase, Neon, and similar.
URL template.
jdbc:postgresql://{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | PostgreSQL hostname or IP. |
| Port | Default 5432. |
| Database | Database name. Postgres requires this; an empty database connects to the user's default DB, which is rarely what you want. |
| User | Postgres username. |
| Password | Postgres password. |
| Schema | Optional. Defaults to public. Set it explicitly when your tables live in a non-default schema. |
Default port: 5432. Driver: PostgreSQL JDBC (org.postgresql.Driver).
Worth knowing.
- PostgreSQL 15+ supports native MERGE. On Postgres 15 and 16, native MERGE can be slower than INSERT ON CONFLICT; enable Use INSERT ON CONFLICT with Postgres 15+ on the connection to switch.
- For older Postgres versions, MERGE in Etlworks requires a unique index on the lookup fields.
- SSL is configured via Other parameters — see the SSL subsection below.
Driver reference: PostgreSQL JDBC connection options.
Secure PostgreSQL Connections with SSL
To force SSL, add ssl=true;sslmode=require to Other parameters. For stricter verification use sslmode=verify-full together with sslrootcert=<path-to-CA-cert>. Etlworks resolves file paths under {app.data}.
Connect to Greenplum
What it is. Greenplum — PostgreSQL-derived MPP analytical database. Uses the standard PostgreSQL JDBC driver.
URL template.
jdbc:postgresql://{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | Greenplum master hostname or IP. |
| Port | Default 5432. |
| Database | Database name. |
| User | Greenplum username. |
| Password | Password. |
| Schema | Optional. |
Default port: 5432. Driver: PostgreSQL JDBC (Greenplum is PostgreSQL-compatible).
Worth knowing.
- Auto Commit defaults to true on Greenplum connections — appropriate for MPP analytical workloads.
- Tune JDBC Fetch Size for your workload — large fetch sizes help bulk reads but cost memory.
- Greenplum-optimized flows are documented in the Working with Greenplum section.
Connect to Vertica
What it is. Vertica — column-store MPP analytical database. Uses Vertica's native JDBC driver.
URL template.
jdbc:vertica://{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | Vertica node hostname or IP (any node in the cluster). |
| Port | Vertica's typical port is 5433. The connection form's default may show 5432; change to 5433 unless your cluster differs. |
| Database | Database name. |
| User | Vertica username. |
| Password | Password. |
| Schema | Optional. Limits metadata discovery. |
Default port: 5433 (Vertica default). Driver: Vertica JDBC (com.vertica.jdbc.Driver).
Worth knowing.
- Confirm the port — Vertica's default is 5433 but the connection form may pre-fill 5432 (PostgreSQL convention).
- Auto Commit defaults to true. Disable it if you need transactional control across a multi-statement flow.
- Vertica-optimized flows are documented in the Working with Vertica section.
Driver reference: Vertica JDBC connection properties.
Connect to MySQL
What it is. MySQL Community / Enterprise. Also covers Percona Server and any MySQL-protocol-compatible database that doesn't have its own section.
URL template.
jdbc:mysql://{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | MySQL hostname or IP. |
| Port | Default 3306. |
| Database | Database name. |
| User | MySQL username. |
| Password | Password. |
| Schema | Optional. MySQL conflates schema and database; usually leave blank. |
Default port: 3306. Driver: MySQL Connector/J (com.mysql.jdbc.Driver).
Worth knowing.
- The connector pre-fills Other parameters with rewriteBatchedStatements=true (huge throughput win for batch INSERT) and zeroDateTimeBehavior=convertToNull (turns invalid zero-dates into NULLs).
- On modern Connector/J releases an SSL handshake is attempted by default; add useSSL=false to Other parameters to disable, or useSSL=true&requireSSL=true&verifyServerCertificate=true to enforce.
- Older 5.x drivers also need serverTimezone=UTC in Other parameters or the connection fails on a timezone mismatch.
- Setting JDBC Fetch Size > 0 enables useCursorFetch automatically.
Driver reference: MySQL Connector/J configuration properties.
Secure MySQL Connections with SSL
Add to Other parameters: useSSL=true;requireSSL=true;verifyServerCertificate=true. To pin the server CA, add trustCertificateKeyStoreUrl=file:<path> and trustCertificateKeyStorePassword=<pw>. To disable SSL outright (for local dev) use useSSL=false.
Connect to MariaDB
What it is. MariaDB — MySQL-fork. The connector reuses MySQL Connector/J.
URL template.
jdbc:mysql://{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | MariaDB hostname or IP. |
| Port | Default 3306. |
| Database | Database name. |
| User | Username. |
| Password | Password. |
Default port: 3306. Driver: MySQL Connector/J (used for MariaDB too).
Worth knowing.
- Other parameters defaults to rewriteBatchedStatements=true. Unlike the MySQL connector it does not include zeroDateTimeBehavior, since MariaDB handles zero dates differently.
- If you hit auth or driver compatibility issues, try switching to the MariaDB-native driver via Other parameters or contact support.
Connect to Informix
What it is. IBM Informix Dynamic Server. Uses the Informix JDBC driver.
URL template.
jdbc:informix-sqli://{host}:{port}/{database}:INFORMIXSERVER={server}What to fill in.
| Field | What to enter |
|---|---|
| Host | Informix server hostname or IP. |
| Port | Default 9090. |
| Database | Database name. |
| Informix Server name | The DBSERVERNAME as configured on the Informix instance. Required — the connection won't work without it. |
| User | Username. |
| Password | Password. |
Default port: 9090. Driver: Informix JDBC (com.informix.jdbc.IfxDriver).
Worth knowing.
- INFORMIXSERVER is mandatory and must match the configured DBSERVERNAME exactly.
- Port 9090 is the most common default but varies by installation — verify with your DBA.
Driver reference: Informix JDBC driver reference.
Connect to Sybase ASE
What it is. SAP Sybase Adaptive Server Enterprise (ASE). Uses the jConnect driver.
URL template.
jdbc:sybase:Tds:{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | Sybase host. |
| Port | Default 5000. |
| Database | Database name. |
| User | Username. |
| Password | Password. |
| Schema | Optional. |
Default port: 5000. Driver: jConnect for JDBC (com.sybase.jdbc4.jdbc.SybDriver).
Worth knowing.
- Sybase uses the TDS protocol — the URL's Tds: prefix is mandatory.
- Port 5000 is the historical default; production deployments often pick something else.
Driver reference: jConnect JDBC connection properties.
Connect to Snowflake
What it is. Snowflake — cloud-native data warehouse. Three authentication methods: username/password (default), key-pair, and external OAuth (Azure AD).
URL template.
jdbc:snowflake://{account}.snowflakecomputing.com/?warehouse={wh}&db={db}&schema={schema}What to fill in.
| Field | What to enter |
|---|---|
| Account Name | Just the account identifier — do not include .snowflakecomputing.com; the driver appends it. |
| Warehouse Name | Default warehouse for the session. Optional in the URL but strongly recommended. |
| Database Name | Default database. |
| Schema Name | Default schema. Defaults to public. |
| Authentication type | Username and password (default), Key-pair, or External OAuth with Azure AD. |
| Stage Name | Optional but recommended. Etlworks uses COPY INTO for loads, which requires a stage. Either set the stage name here, or let Etlworks create one automatically. |
Default port: 443 (HTTPS). Driver: Snowflake JDBC (com.snowflake.client.jdbc.SnowflakeDriver).
Authentication options.
| Method | Extra fields |
|---|---|
| Username and password (default) | User, Password |
| Key-pair | User, Private key file (PEM), Private key passphrase (optional) |
| External OAuth (Azure AD) | OAuth Client ID, OAuth Client Secret, Azure Tenant ID |
Worth knowing.
- The connector sets QUOTED_IDENTIFIERS_IGNORE_CASE=TRUE and CLIENT_SESSION_KEEP_ALIVE=TRUE by default. The first affects table/column name matching; turn it off if your schema relies on case sensitivity.
- application=Etlworks is added to the URL by default so your Snowflake admin can see Etlworks-originated queries in QUERY_HISTORY.
- For COPY INTO loads, the stage is critical — either supply a stage name or enable auto-creation.
Driver reference: Snowflake JDBC connection parameters.
Connect to Snowflake using Key-pair authentication
Select Key-pair in Authentication type. Upload the private key (PEM-encoded) and, if encrypted, supply the passphrase. The driver builds the URL with authenticator=private-key and the private-key-file parameters. For end-to-end setup including key generation, see Snowflake's Key-pair authentication.
Connect to Snowflake using External OAuth with Azure Active Directory
Select External OAuth (Azure AD). Supply OAuth Client ID, OAuth Client Secret, and Azure Tenant ID. The driver requests an access token from Azure AD and passes it to Snowflake via authenticator=oauth. For the Snowflake-side setup see How To Use Java JDBC Client With External OAuth Token.
Connect to Azure Synapse Analytics
What it is. Azure Synapse Analytics dedicated SQL pool. Uses the Microsoft JDBC driver for SQL Server — the connection screen mirrors SQL Server's auth options.
URL template.
jdbc:sqlserver://{host}:{port};DatabaseName={database}What to fill in.
| Field | What to enter |
|---|---|
| Host | Synapse SQL endpoint — typically <workspace>.sql.azuresynapse.net. |
| Port | Default 1433. |
| Database | Dedicated SQL pool name. |
| Authentication | SQL Server (default), Azure AD Password, Azure AD Service Principal, Azure AD Interactive, or Managed Identity (MSI). |
Default port: 1433. Driver: Microsoft JDBC Driver for SQL Server.
Worth knowing.
- Use the dedicated SQL pool's SQL endpoint as the host — not the workspace name alone.
- MSI works only when Etlworks runs on a managed-identity-enabled Azure VM.
- Warehouse-optimized flows are documented in the Get started with Azure Synapse Analytics article.
Connect to Azure Synapse Analytics using Azure Active Directory authentication
The Azure AD authentication options mirror those for SQL Server: Password (Azure AD user), Service Principal (app-client-id@tenant-id + client secret), Interactive (OAuth consent flow), and MSI. For service-principal setup details see the Azure SQL service-principal tutorial.
Connect to Microsoft Fabric Warehouse
What it is. Microsoft Fabric Warehouse — the warehousing engine inside Microsoft Fabric. The connector is the SQL Server JDBC driver but only Azure AD authentication is supported.
URL template.
jdbc:sqlserver://{host}:{port};DatabaseName={warehouse}What to fill in.
| Field | What to enter |
|---|---|
| Host | Fabric SQL endpoint. |
| Port | Default 1433. |
| Database | Fabric warehouse name. |
| Authentication | Azure AD Service Principal (recommended) or Azure AD Interactive. |
Default port: 1433. Driver: Microsoft JDBC Driver for SQL Server.
Worth knowing.
- Fabric Warehouse does not support SQL Server (username/password) authentication. Azure AD only.
- The connection ships a Data Type Overrides default of datetime2 → datetime2(6) to preserve sub-second precision.
Connect to Microsoft Fabric Warehouse using Azure Active Directory authentication
Two modes:
- Service Principal — user in the form app-client-id@tenant-id, password is the client secret.
- Interactive — OAuth consent is requested on first use and refreshed automatically.
Connect to Amazon RDS
What it is. Amazon RDS is a managed-database service that runs PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, or MS SQL Server. Use the database-specific section above — there is no separate RDS connector; the connection URL just points at the RDS endpoint.
URL template.
(See the database-specific section: PostgreSQL, MySQL, Oracle, MS SQL Server, etc.)What to fill in.
| Field | What to enter |
|---|---|
| Endpoint | The RDS endpoint URL from the AWS console (e.g., mydb.xxxxx.us-east-1.rds.amazonaws.com). |
| Port | Database-specific. |
| User / Password | RDS master user (or any user you've created). |
Worth knowing.
- RDS security groups must allow inbound traffic on the database port from your Etlworks IP — this is the #1 reason RDS connections fail.
- Standard Etlworks connectors for PostgesSQL and MySQL will work with Aurora clusters just fine.
- Aurora has its own dedicated connectors (Aurora PostgreSQL, Aurora MySQL) — contact Etlworks support if you want to use those for Aurora clusters.
Connect to Amazon Aurora PostgreSQL
What it is. Amazon Aurora PostgreSQL-compatible edition. Uses the PostgreSQL JDBC driver against the RDS Aurora endpoint.
URL template.
jdbc:postgresql://{rds-endpoint}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Endpoint | Aurora cluster endpoint (the writer endpoint for read/write; reader endpoint for read-only). |
| Port | Default 5432. |
| Database | Database name. |
| User | Master user or any DB user. |
| Password | Password. |
Default port: 5432. Driver: PostgreSQL JDBC.
Worth knowing.
- Use the cluster endpoint (writer) for read/write flows so failover routing works automatically; use the reader endpoint for read-only flows to offload from the writer.
- RDS security groups must allow inbound traffic on 5432 from the Etlworks IP.
- Same MERGE-on-Postgres-15+ caveats apply — see PostgreSQL.
Driver reference: Connecting to an Amazon Aurora DB cluster.
Connect to Amazon Aurora MySQL
What it is. Amazon Aurora MySQL-compatible edition. Uses MySQL Connector/J against the RDS Aurora endpoint.
URL template.
jdbc:mysql://{rds-endpoint}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Endpoint | Aurora cluster endpoint (writer for read/write; reader endpoint for read-only). |
| Port | Default 3306. |
| Database | Database name. |
| User | Master user or any DB user. |
| Password | Password. |
Default port: 3306. Driver: MySQL Connector/J.
Worth knowing.
- Same endpoint and SSL guidance as Aurora PostgreSQL — use cluster vs. reader endpoint deliberately.
- Same default Other parameters as MySQL: rewriteBatchedStatements=true, zeroDateTimeBehavior=convertToNull.
Connect to Amazon Redshift
What it is. Amazon Redshift — AWS-managed columnar data warehouse. Uses the Amazon Redshift JDBC driver.
URL template.
jdbc:redshift://{cluster-endpoint}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Endpoint | Redshift cluster endpoint, e.g., mycluster.c9akciq32.us-east-1.redshift.amazonaws.com. |
| Port | Default 5439. |
| Database | Database name. |
| User | Redshift username. |
| Password | Password. |
| IAM Role | Optional, only for UNLOAD. Format: arn:aws:iam::<account>:role/<role-name>. |
Default port: 5439. Driver: Amazon Redshift JDBC (com.amazon.redshift.jdbc.Driver).
Worth knowing.
- For COPY-based loads the Redshift cluster needs S3 read permission — attach an IAM role to the cluster (recommended) or use credentials in the COPY statement.
- The IAM role on the connection is only used for UNLOAD operations; leave it blank for read-only or load-only flows.
- Warehouse-optimized flows are documented in Working with Amazon Redshift.
Driver reference: Redshift JDBC driver configuration options.
Connect to Amazon Athena
What it is. Amazon Athena — serverless SQL over data in S3. Etlworks uses the Simba Athena JDBC driver.
URL template.
jdbc:awsathena://athena.{region}.amazonaws.com:{port};S3OutputLocation={s3-output-location}What to fill in.
| Field | What to enter |
|---|---|
| AWS Region | e.g., us-east-1, eu-west-1. |
| Port | Default 443. |
| S3 Output Location | S3 path where Athena stores query results, e.g., s3://my-athena-results/. Required — queries fail without it. |
| User | AWS Access Key ID. |
| Password | AWS Secret Access Key. |
Default port: 443. Driver: Simba Athena JDBC.
Worth knowing.
- Athena is a query engine, not a database — tables are defined in the Glue Data Catalog and point at S3 paths.
- Athena bills by data scanned, not rows returned. Partition your S3 data and use Parquet/ORC to keep costs predictable.
- The AWS credentials need both Athena and S3 permissions — see the AmazonAthenaAccess managed policy as a starting point.
Driver reference: Simba Athena JDBC driver guide.
Connect to Microsoft Access
What it is. Microsoft Access .mdb / .accdb files. Uses the UCanAccess open-source driver. Best for legacy migrations — not recommended for production write workloads.
URL template.
jdbc:ucanaccess://{database-file-path}What to fill in.
| Field | What to enter |
|---|---|
| Access Database File Name | Local or network path. Token {app.data} resolves to the Etlworks server's app-data directory (e.g., {app.data}/test.mdb). |
| User | Optional. Only for password-protected databases. |
| Password | Optional. |
Driver: UCanAccess (net.ucanaccess.jdbc.UcanaccessDriver).
Worth knowing.
- Files-only — the path must be reachable from the Etlworks server's filesystem.
- Access has hard size limits (2 GB per .mdb) and weak concurrency — one-shot migrations work fine; sustained writes do not.
Driver reference: UCanAccess project.
Connecting to Teradata
What it is. Teradata Vantage — enterprise MPP warehouse. Uses the Teradata JDBC driver.
URL template.
jdbc:teradata://{host}/database={database}What to fill in.
| Field | What to enter |
|---|---|
| Host | Teradata system hostname or IP. |
| Database | Default database for the session. |
| User | Teradata username. |
| Password | Password. |
| Schema | Optional. |
Driver: Teradata JDBC (com.teradata.jdbc.TeraDriver).
Worth knowing.
- URL syntax uses /database=name, not :port/database — port is implicit.
- Metadata discovery can be slow on large data dictionaries — set Schema when possible.
Driver reference: Teradata JDBC user guide.
Connect to Apache Hive
What it is. Apache Hive — SQL-on-Hadoop. Uses the Apache Hive JDBC driver against HiveServer2.
URL template.
jdbc:hive2://{host}:{port}What to fill in.
| Field | What to enter |
|---|---|
| Host | HiveServer2 hostname or IP. |
| Port | Default 10000 (HiveServer2's standard port). |
| User | Optional. Required when Hive has authentication enabled. |
| Password | Optional. |
Default port: 10000. Driver: Apache Hive JDBC (org.apache.hive.jdbc.HiveDriver).
Worth knowing.
- Hive is batch-optimized — expect higher latencies than typical OLTP databases.
- Kerberos / LDAP authentication require additional connection-level config; check the HiveServer2 cluster setup.
Driver reference: HiveServer2 JDBC clients.
Connect to Google BigQuery
What it is. Google BigQuery — serverless cloud data warehouse. Uses the Simba BigQuery JDBC driver. Two authentication methods: OAuth2 (user) and service account (recommended for production).
URL template.
jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId={project};OAuthType={oauth-type};...What to fill in.
| Field | What to enter |
|---|---|
| Project ID | The GCP project that owns the dataset(s) and that BigQuery will bill. |
| Authentication | OAuth2 or Service account. |
Default port: 443 (HTTPS). Driver: Simba BigQuery JDBC (com.simba.googlebigquery.jdbc42.Driver).
Authentication options.
| Method | Extra fields |
|---|---|
| OAuth2 | User-driven OAuth consent. Refresh token managed by Etlworks. |
| Service account | User (service account email), Key file (.json or .p12) |
Worth knowing.
- By default, columns come back as VARCHAR for metadata discovery. Use Data Type Overrides to map BigQuery's native types properly.
- BigQuery bills by data scanned. Use partitioning and clustering on large tables; prefer SELECT with explicit columns over SELECT *.
- Service account auth is the right choice for production. The key file is uploaded once and Etlworks reads the credentials internally.
- Warehouse-optimized flows are documented in Working with Google BigQuery.
Driver reference: Simba BigQuery JDBC driver.
Connect to Derby
What it is. Apache Derby (Java DB) — embeddable relational database. The Etlworks connector uses the Derby network client to connect to a remote Derby server.
URL template.
jdbc:derby://{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | Derby network server host. |
| Port | Default 1527. |
| Database | Derby database name. |
| User | Optional. |
| Password | Optional. |
Default port: 1527. Driver: Derby Network Client (org.apache.derby.jdbc.ClientDriver).
Worth knowing.
- Embedded mode is not supported — use network mode (a running Derby server).
- Derby is fine for testing or small embedded scenarios but rarely seen in production data pipelines.
Driver reference: Derby network client documentation.
Connect to SQLite
What it is. SQLite — file-based embedded relational database. Useful for testing and for the in-memory temporary staging database pattern.
URL template.
jdbc:sqlite:{database-file-path}What to fill in.
| Field | What to enter |
|---|---|
| Database | Fully qualified filename, or :memory: for in-memory. Token {app.data} resolves to the Etlworks app-data directory (e.g., {app.data}/staging.db). |
Driver: SQLite JDBC (org.sqlite.JDBC).
Worth knowing.
- No authentication — security is filesystem-based.
- Writes are serialized at the database file — concurrent writers block each other.
- An empty database value combined with an in-memory URL (jdbc:sqlite:) creates a transient database that disappears when the connection closes. See the temp-DB subsection below.
Driver reference: SQLite JDBC tutorial.
Connect to temporary in-memory SQLite
Set the URL to jdbc:sqlite: and leave the database field empty. The database is created in memory, exists only for the duration of the flow, and is destroyed when the connection closes. This is the same pattern used by the temporary staging database connector type — useful for chaining transformations that need a SQL-queryable scratch space.
Connect to Neo4j
What it is. Neo4j — property-graph database. The Etlworks connector uses a JDBC bridge that speaks Bolt under the hood; nodes / relationships are mapped to tables for SQL access.
URL template.
jdbc:neo4j:bolt://{host}:{port}/What to fill in.
| Field | What to enter |
|---|---|
| Host | Neo4j host. |
| Port | Bolt port. 7687 in most installations — even though the field defaults to 7474 (the HTTP browser port). Set this to 7687 unless your Bolt listener is on a custom port. |
| User | Optional. Required when auth is enabled. |
| Password | Optional. |
Default port: 7687 (Bolt) — the field default of 7474 is the HTTP port; verify. Driver: Neo4j JDBC (Bolt) (org.neo4j.jdbc.Driver).
Worth knowing.
- Watch the port — the field default is 7474 (HTTP browser) but the Bolt protocol Etlworks uses is on 7687.
- Graph queries (Cypher) don't map cleanly to all SQL constructs. Use the connector for ETL-style data movement, not for arbitrary SQL analytics over a graph.
Driver reference: Neo4j JDBC project.
Connect to Elasticsearch
What it is. Premium connector. Elasticsearch — document store / search engine. Uses the CData JDBC driver for SQL-over-Elasticsearch.
URL template.
jdbc:cdata:elasticsearch:Server=127.0.0.1;Port=9200;Driver reference: Elasticsearch JDBC connector.
Connect to SAP HANA
What it is. SAP HANA — in-memory column-store database. Uses SAP's official JDBC driver.
URL template.
jdbc:sap://{host}:{port}/?databaseName={database}What to fill in.
| Field | What to enter |
|---|---|
| Host | HANA host. |
| Port | Default 30015 (SQL engine port for tenant databases). The system database typically uses 30013. Multi-tenant clusters can use other ports — verify with your DBA. |
| Database | Database name. |
| User | HANA user. |
| Password | Password. |
| Schema | Optional. |
Default port: 30015. Driver: SAP HANA JDBC (com.sap.db.jdbc.Driver).
Worth knowing.
- HANA's port scheme is unusual — 30015 is a common default but real-world setups use 3xxx5, 3xxx7, or other values. Always confirm.
- On large catalogs, metadata discovery is slow — set Schema when possible.
Driver reference: SAP HANA JDBC reference.
Connect to DynamoDB
What it is. Premium connector. Amazon DynamoDB — AWS-managed NoSQL key-value / document store. Uses the CData JDBC driver for SQL-over-DynamoDB.
URL template.
jdbc:amazondynamodb:AWS Access Key={access-key};AWS Secret Key={secret-key};What to fill in.
| Field | What to enter |
|---|---|
| AWS Access Key | IAM user access key with DynamoDB permissions. |
| AWS Secret Key | Corresponding secret key. |
| AWS Region | Set via Other parameters (e.g., AWS Region=us-east-1) when the account spans regions. |
Driver: CData JDBC Driver for Amazon DynamoDB.
Worth knowing.
- DynamoDB has no concept of "database" — just tables in an AWS region. Pick the region in Other parameters.
- DynamoDB bills by read/write capacity units. Avoid full table scans on large tables.
- The IAM principal needs dynamodb:Scan, dynamodb:Query, dynamodb:GetItem, and (for writes) dynamodb:PutItem / UpdateItem / DeleteItem.
Driver reference: CData DynamoDB JDBC connection.
Connect to HBase
What it is. Premium connector. Apache HBase — column-family Hadoop database. Uses the CData JDBC driver against HBase's REST gateway.
URL template.
jdbc:apachehbase:Server={server};Port={port};Auth Scheme={auth};What to fill in.
| Field | What to enter |
|---|---|
| Server | HBase REST gateway hostname. |
| Port | Default 8080 (HBase REST server). Note this is not the native HBase port (16000 / 2181). |
| Authentication Scheme | None, Basic, or Negotiate (Kerberos). |
| User | Required when auth scheme isn't None. |
| Password | Required when auth scheme isn't None. |
Default port: 8080 (REST gateway). Driver: CData JDBC Driver for Apache HBase.
Worth knowing.
- The connector talks to HBase's REST server, not native HBase RPC. The HBase REST gateway must be running and reachable.
- Negotiate auth means Kerberos — full SPN / keytab setup applies.
Driver reference: CData HBase JDBC connection.
Connect to Cosmos DB
What it is. Premium connector. Azure Cosmos DB — Microsoft's multi-model NoSQL service. The Etlworks connector uses the Cosmos DB SQL API.
URL template.
jdbc:cdata:cosmosdb:AccountEndpoint={endpoint};AccountKey={key};What to fill in.
| Field | What to enter |
|---|---|
| Account Endpoint | Cosmos DB account URI, e.g., https://yourname.documents.azure.com:443/. |
| Account Key | Primary or secondary key from the Azure portal — treat as a secret. |
Driver: CData JDBC Driver for Cosmos DB.
Worth knowing.
- Cosmos DB is multi-API (SQL, MongoDB, Cassandra, Gremlin, Table). This connector uses the SQL API only.
- Cosmos bills by Request Units (RUs); each query consumes RUs based on indexed-path complexity, not row count.
- Rotate account keys periodically — Cosmos supports primary / secondary key rotation without downtime.
Driver reference: CData Cosmos DB JDBC connection.
Connect to Cassandra
What it is. Premium connector. Apache Cassandra — distributed wide-column store. Uses CData's CQL-over-JDBC bridge.
URL template.
jdbc:cdata:cassandra:Server={server};Port={port};Database={database};UseSSL={ssl};AuthScheme={auth};What to fill in.
| Field | What to enter |
|---|---|
| Server | Any node in the Cassandra cluster (contact point). |
| Port | Default 9042 (CQL native port). |
| Database | Cassandra keyspace. |
| Use SSL | Enable for TLS-secured clusters. |
| Authentication Scheme | Basic, DSE, Kerberos, or LDAP. |
| User | Cassandra user. |
| Password | Password. |
Default port: 9042. Driver: CData JDBC Driver for Cassandra.
Worth knowing.
- Cassandra is distributed; connecting to any node is enough — the driver discovers the rest of the cluster.
- Auth scheme depends on deployment: Basic for community / OSS, DSE for DataStax Enterprise, Kerberos / LDAP for enterprise integrations.
Driver reference: CData Cassandra JDBC connection.
Connect to Btrieve
What it is. Premium connector. Btrieve — legacy key-sequenced record manager. Disabled by default; enable on request via support. Useful mostly for one-shot legacy migrations.
URL template.
jdbc:cdata:btrieve:Server={server};Database={database};What to fill in.
| Field | What to enter |
|---|---|
| Server | Btrieve server hostname or IP. |
| Database | Database location (file path or server reference). |
| User | Optional. |
| Password | Optional. |
Driver: CData JDBC Driver for Btrieve.
Worth knowing.
- Disabled by default. Contact support if you need it enabled.
- Btrieve is file-based — the server needs filesystem access to the database location.
Connect to HarperDB
What it is. Premium connector. HarperDB — cloud-native distributed database with both SQL and NoSQL access. Uses the CData JDBC driver.
URL template.
jdbc:cdata:harperdb:Server={server};What to fill in.
| Field | What to enter |
|---|---|
| Server | HarperDB instance host. |
| User | Required for cloud instances; optional for local. |
| Password | Password. |
Driver: CData JDBC Driver for HarperDB.
Driver reference: CData HarperDB JDBC driver.
Connect to Couchbase
What it is. Premium connector. Couchbase — distributed JSON document database. The connector uses the CData JDBC driver, which speaks N1QL (Couchbase SQL).
URL template.
jdbc:cdata:couchbase:Server={server};What to fill in.
| Field | What to enter |
|---|---|
| Server | Couchbase cluster address. |
| User | Couchbase RBAC user. |
| Password | Password. |
Driver: CData JDBC Driver for Couchbase.
Worth knowing.
- No port field — Couchbase uses well-known ports (8091 management, 11210 data) auto-detected by the driver.
- Queries are N1QL, Couchbase's SQL dialect. Most ANSI-SQL constructs work; some (window functions, recursive CTEs) may be limited or absent.
Connect to Clickhose
What it is. ClickHouse — open-source column-store OLAP database. The Etlworks connector uses the clickhouse4j JDBC driver.
URL template.
jdbc:clickhouse://{host}:{port}/{database}What to fill in.
| Field | What to enter |
|---|---|
| Host | ClickHouse host. |
| Port | Default 8123 (HTTP protocol). ClickHouse's native TCP protocol is on port 9000 — if you've configured native, change accordingly. |
| Database | Database name. |
| User | Optional. |
| Password | Optional. |
| Schema | Optional. |
Default port: 8123 (HTTP). Driver: clickhouse4j JDBC.
Worth knowing.
- Default port 8123 is HTTP. If your cluster only exposes the native TCP protocol, switch to port 9000.
- ClickHouse is read-optimized and column-oriented — write performance can differ significantly from row-store databases.
Driver reference: clickhouse4j JDBC driver.
Connect to Databricks
What it is. Databricks — the Lakehouse platform on Delta. Etlworks ships dedicated flows for Databricks; see the Working with Databricks section. Two authentication methods on the connection: personal access token (PAT) and OAuth service principal.
URL template.
jdbc:databricks://{host}:{port};transportMode=http;ssl=1;httpPath={http-path};AuthMech={auth-mech};...What to fill in.
| Field | What to enter |
|---|---|
| Host | Databricks workspace hostname (the Server hostname from the compute resource's Connection details tab). |
| Port | Default 443. |
| HTTP Path | Compute resource's HTTP path. For a SQL warehouse it looks like /sql/1.0/warehouses/<id>; for a cluster it looks like /sql/protocolv1/o/<workspace-id>/<cluster-id>. Find both in the compute resource's Connection details. |
| Authentication | Personal Access Token (default) or OAuth Service Principal. |
Default port: 443. Driver: Databricks JDBC Driver (com.databricks.client.jdbc.Driver).
Authentication options.
| Method | Extra fields |
|---|---|
| Personal Access Token | Personal access token (PWD) |
| OAuth Service Principal | Service principal client ID, OAuth secret |
Worth knowing.
- PATs expire — pick a long enough lifetime or use OAuth Service Principal for production.
- The connector emits AuthMech=3 for PAT and AuthMech=11;Auth_Flow=1 for OAuth.
- Unity Catalog three-part names (catalog.schema.table) are supported anywhere a table name is accepted.
- All tables Etlworks creates use USING DELTA; NOT NULL constraints are not emitted.
- Warehouse-optimized flows are documented in Working with Databricks.
Driver reference: Databricks JDBC driver.
Connect to MongoDB
What it is. MongoDB — document database. Etlworks has both native MongoDB support (this connector) and SQL-over-MongoDB. See Get started with MongoDB for the end-to-end picture.
URL template.
mongodb://{host}:{port}What to fill in.
| Field | What to enter |
|---|---|
| Host | MongoDB host (any replica-set member or mongos). |
| Port | Default 27017. |
| Database | Database name. |
| Collection | Collection name (required for read / write). |
| User | Optional. |
| Password | Optional. |
Default port: 27017. Driver: MongoDB Java driver (native).
Worth knowing.
- MongoDB-specific options on the connection: Remove _id on read (default), On update (replace / update / insert), Batch size (1 = no batching), Write concern (unacknowledged / acknowledged / journaled / replica_acknowledged / majority), Document filter (MongoDB query JSON or wildcard).
- Number of documents to display in Explorer defaults to 1000 and caps at 9999 — large collections are sampled when discovering schemas.
- Enable Timestamp Conversion turns ISO-formatted timestamp strings into proper ISODate values when writing.
- For SQL-over-MongoDB queries see Using SQL with MongoDB.
Connect to Redis
What it is. Redis — in-memory key-value store. The Etlworks connector treats Redis like a file store — the Redis key plays the role of a filename, and the value is the file contents. See Get started with Redis.
URL template.
(native Redis protocol)What to fill in.
| Field | What to enter |
|---|---|
| Host | Redis host. |
| Port | Default 6379. |
| Key | Redis key, or a wildcard pattern like test*. |
| Password | Optional. Required for Redis instances with AUTH enabled. |
| Enable SSL | Toggle for TLS-secured Redis. |
| Encoding | Character encoding when the value contains non-ASCII bytes. Default is no encoding (assumes ASCII / UTF-8). |
Default port: 6379. Driver: Native Redis protocol via com.toolsverse.io.RedisProcessor.
Worth knowing.
- Wildcard keys (orders:*) work like wildcard filenames; the connector iterates all matches. On large keyspaces this can be expensive — use targeted patterns.
- Wildcard selection algorithm picks one key from a wildcard match (ascending / descending / disabled) — useful for picking the latest dated key like snapshot:2026-05-30.
- Compression (Expected Compression: None / Zip / GZip) is applied to the value bytes before they're consumed as a file.
Test a database Connection
Once the connection is configured, click Test connection at the bottom of the connection screen. Etlworks opens the connection using the same code path as a running flow, so a passing test is a real indication that flows using this connection will be able to connect.
Common failure modes:
- Network / firewall — the most common cause. Whitelist the Etlworks IP (18.188.180.116 for the shared instance) or use an SSH tunnel / integration agent.
- Credentials wrong — verify the user is allowed to log in from the Etlworks IP and that the password hasn't expired or been rotated.
- SSL / TLS handshake — modern drivers (notably MySQL Connector/J 8.x) enforce SSL by default. Add the appropriate Other parameters entries listed in the per-connector sections.
- Driver mismatch — if Etlworks doesn't ship a driver for your specific database vendor, contact support.
Connect to a database if it is not on the list
If your database isn't listed above but exposes a JDBC driver, Etlworks can usually use it. Contact support@etlworks.com with:
- The database name and version.
- The JDBC driver's coordinates (vendor download URL, driver class name).
- The JDBC URL template you expect to use.
For older or one-off databases without a dedicated section, you can also try the generic JDBC connection — the connector accepts an arbitrary driver class and URL.