Skip to main content

Celonis Product Documentation

How do I set up a database connection using a custom JDBC string?
Step 1: Define the Connection Type (responsible role: database server and infrastructure admin)

There are two scenarios:

A) Uplinked: You do not want to or cannot allow the EMS to access your database directly but you want to use an on-premise Extractor instead.

Only if your database is not reachable from the EMS: Set up an Extractor server on-premise in your network. A detailed diagram showing the extraction flow can be found here.

Please refer to the documentation on system requirements of the on-premise server

B) Direct: You want to allow the EMS to access your database directly.

Step 2: Modify your network settings to allow the Extractor to communicate to the database and the EMS (responsible role: infrastructure admin)

There are two scenarios that depend on the connection type selected in Step 1:

Network settings for scenario A (access through an on-premise Extractor)

Source System

Target System

Port

Protocol

Description

On premise Extractor server

Source system

(on-premise)

depends on the database, typical ports are 5432 for Postgres and 30015 for HANA for example

TCP

JDBC connection from on-premise Extractor server to the database. The port is the one that you use normally to connect to the database.

On premise Extractor server

EMS

443

TCP

HTTPS connection from on-premise Extractor server to Celonis cloud endpoint. The IPs of the EMS depending on the cloud cluster (which can be seen in the URL) and they can be found in the section below.

Network settings for scenario B (direct access)

Source System

Target System

Port

Protocol

Description

EMS

Source system

(on-premise)

depends on the database, typical ports are 5432 for Postgres and 30015 for HANA for example

TCP

JDBC connection from the EMS to the database. The port is the one that you use normally to connect to the database. The IPs of the EMS depending on the cloud cluster (which can be seen in the URL) and they can be found in the section below.

EMS IP addresses depending on the cluster

The respective clusters use multiple IPs each so you need to enable all three of them in your firewall configuration for the connection between the on premise Extractor server and the cloud endpoint.

Cluster

EMS IPs as target (scenario A)

EMS IPs as source (scenario B)

eu-1

18.184.97.187

18.197.224.124

52.58.147.34

18.184.169.225

18.184.23.70

35.156.1.191

eu-2

13.80.109.60

13.73.158.49

eu-3

51.116.175.215

51.116.239.165

51.116.175.215

20.52.130.129

eu-4

18.158.219.136

3.126.213.135

18.193.90.201

18.193.182.112

18.193.93.30

18.196.83.72

eu-5

"teamname.eu-5.celonis.cloud"

"teamname.eu-5.celonis.cloud"

us-1

18.213.10.214

18.210.138.205

18.212.45.36

35.173.85.93

52.2.234.158

52.201.190.146

us-2

52.183.80.180

52.283.80.180

ru-1

ru-2

85.192.32.89

185.127.150.12

89.208.210.107

185.127.150.12

jp-1

13.73.16.140

52.243.46.143

au-1

3.106.161.130

13.238.88.147

3.104.129.217

52.65.180.17

13.54.25.182

Step 3: Only if your database is not reachable from the EMS: Set up the database Extractor on premise in your network (responsible role: infrastructure admin)

Please refer to the documentation on how to set up an on premise Extractor .

For downloads, contach Celonis Support.

If you would like to use a proxy (optional), please refer to the proxy configuration page.

Step 4: Configure a user with sufficient permissions in your database (responsible role: database admin)

In order to extract from a database, you need to create or use an existing user which has read access to all tables which should be extracted. The user should also have access to the schema information_schema to read metadata for the tables to be extracted.

Step 5: Get the JDBC custom connection URL (responsible role: data engineer)

The custom JDBC connection URL differs depending on the database type you want to connect to. Here is a summary of the URL's for the most common databases with examples:

  1. MySQL

    - Format of database URL

    jdbc:mysql://[host][,failoverhost...][:port]/[database] [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

    Example:

    jdbc:mysql://localhost:3306/test?user=root&password=secret
  2. SQL Server

    - Format of database URL

    jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

    Example:

    jdbc:sqlserver://localhost\\sqlexpress;user=sa;password=secret
  3. Oracle

    - Format of database URL

    jdbc:oracle:<drivertype>:@<database>

    Example:

    jdbc:oracle:thin:@localhost:1521:testdb
  4. SAP HANA

    - Format of database URL

    jdbc:sap://<server>:<port>/?databaseName=<database>

    Example:

    jdbc:sap://localhost:30013/?databaseName=testdb
  5. PostgreSQL

    - Format of database URL

    jdbc:postgresql://host:port/database

    Example:

    jdbc:postgresql://localhost:5432/testdb

     

     

Step 6: Create the Data Connection in a Data Pool (responsible role: data engineer)
35553340.png

Fill in your connection details of the database that you would like to connect to:

  1. Name: The name that you would like the data connection to have

  2. Connection Type: Choose whether you want to directly connect to the database or use an uplinked one

  3. Database Type: Choose the database type you want to connect to

  4. Server name: The database server name or IP of the database server

  5. Configuration Type: Select Custom JDBC String

  6. Custom String: Insert your JDBC custom connection URL string

  7. Maximum Parallel Table Extrations: Choose how many tables should be extracted in parallel

  8. Schema Name: Optionally set a Schema name

  9. Additional Properties: Additional properties like validateCertificate=false for a HANA database or integratedSecurity=true for domain users in MSSQL

  10. User name: The username to connect to the database server

  11. Password: The password of the user