Troubleshooting JDBC database connections
If there are issues with your JDBC database connections, consider the following solutions:
Diagnose unsuccessful connection using Telnet
If the connection between your database and the Celonis Platform is unsuccessful, we recommend using Telnet to test whether the required network ports are open:
Ensure that Telnet is enabled by pressing the Windows key + R to open the Run dialog box.
In the dialog box, enter the below and then click OK.
pkgmgr /iu:"TelnetClient"
When enabled, open the Run dialog box again and enter:
cmd
In the Command Prompt, enter telnet <IP address>443, replacing <P address> with the IP address of your Celonis Platform team's cluster and check the results as described below.
Then, enter telnet <team domain> 443 ,replacing <team domain>; with yourteam.yourrealm.celonis.cloud and check the results as described below.
If you see a blank cursor, the port is open and not the root cause of a connection issue.
If you see an error using the IP address, reach out to the network administrator to ensure that port 443 is open in the firewall.
If you see an error using the team domain but no error using the IP address, the IP address is not resolved. Reach out to the network administrator to ensure that your firewall is not blocking the DNS request before it can be resolved (potentially because the current setup only allows for IP access).
Exclude root causes using DBeaver
To exclude root causes, use DBeaver and follow these steps on your extractor server:
Select Database - New Connection.
Select the database connection type for the database you want to connect with Celonis and then click Next.
Select Yes to download/install the driver for the selected database.
Enter the parameters required to connect with your database.
Select Next.
Select Test Connection.
If the connection test is not successful, that indicates that the connection issue's root cause is not associated with the Celonis extractor.
Common JDBC errors and solutions
When configuring a JDBC connection, you might experience the following error messages:
Database type | Error | Recommended solution |
---|---|---|
All | Error retrieving metadata (SyntaxErrorException, illegal zero-length identifier) | Validate your connection configuration, esp. the application-local.yml file. |
All | Java.net.BindException: Address already in use | Another application is already running on the same port as the Extractor. Disable listening on the port to resolve the issue. |
All | java.lang.NoClassDefFoundError: Could not initialize class oracle.jdbc.OracleDriver | Download the JDBC driver yourself and add it to the startup script. |
All | DatabaseApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0) | Java Runtime on Extractor server is outdated. Update Java Runtime to a version ≥ 55 or update JDK to a version≥ 11. |
All | Error loading resource (unsupported type for column) | Reach out to Support, ideally providing the connector logs which can be found in your local JDBC Extractor Package folder. |
All | Uplink could not connect: 'I/O error on POST request for "https://teamdomain.cluster.celonis.cloud/uplink/api/public/uplink": PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target', waiting 13000ms before retrying --EOM-- | See: Fixing "unable to find valid certification path" errors. |
All | Uplink could not connect (UnknownHostException) | UnknownHostException means that the name resolution failed. This could be a typo in the hostname or a problem in the DNS server. |
All | java.lang.UnsatisfiedLinkError: /tmp/snappy-1.1.7-d52747f8-f5a0-471a-a468-826b186cff94-libsnappyjava.so: /tmp/snappy-1.1.7-d52747f8-f5a0-471a-a468-826b186cff94-libsnappyjava.so: failed to map segment from shared object: Operation not permitted. | The extractor does not have permission to write to the /tmp/ directory. Make sure that these permissions are ensured |
All | Unable to find valid certification path to requested target | There are two potential root causes:
See: Fixing "unable to find valid certification path" errors. |
All | Uplink could not connect: 'I/O error on POST request for "https://teamdomain.cluster.celonis.cloud/uplink/api/public/uplink": Unsupported or unrecognized SSL message; nested exception is javax.net.ssl.SSLException: Unsupported or unrecognized SSL message' | This is most probably cause by a proxy which overrides the SSL certificate, please make sure both certificates public and private from letsencrypt are used as described here: Fixing "unable to find valid certification path" errors. |
All | ExecutionMessage-FAIL: Error loading resource DSC9REL1. java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.Snappy | This most commonly happens on Linux. Please check if the “Noexec” flag is enabled and in case it is, remove it as described here: OPSwat - How do I check if 'noexec' flag exists on a Linux OS? |
All | Uplink could not connect (Unexpected 302) | Uplink not connected/JDBC URL changed; validate your configuration. |
All | Uplink could not connect (in general) | Validate your connection configuration in the Celonis Platform. |
All | Mkdirs failed to create file:/tmp/CEL_CON_TEMP/ | Your extractor's server disk is out of space. Delete content in \temp\CEL_CON_TEMP, then re-run the extraction, then check if any parquet file is left over in that directory and if the issue persists. |
All | Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect". How can this be fixed? | check that your on premise Extractor server can reach the Celonis Platform. Specifically, please verify that you can reach the URL https://[team].[realm].celonis.cloud in the browser of your server - if not, please check your firewall settings and no proxy is blocking the connection between the Extractor and the Celonis Platform - if it is needed, see Proxy settings with on premise Extractors. |
Oracle | ORA-12514, TNS:listener does not currently know of service requested in connect descriptor | This will be resolved using custom JDBC string in the following format: This will be resolved using custom JDBC string in the following format: jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =<hostname>)(PORT = <Port>)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <DB Name>) (SID = <DB Name>))) |
SAP HANA | Connection test failed, please check the Data Connection's configuration and ensure that the system is running: Unexpected error when creating database connection: Cannot create PoolableConnectionFactory (SAP DBTech JDBC: Cannot connect to jdbc:sap://e446a7-2991-42e8-a4be-2a7d0fa50.hana.prod-eu20.hanacloud.ondemand.com:443/ [Object is closed: com.sap.db.jdbc.SecureChannelSession@32287e12 e44640a7-2991-42e8-a4be-2a7d0f348a50.hana.prod-eu20.hanacloud.ondemand.com:443 ConnectionID:0 SessionID:0 on sun.nio.ch.UnixAsynchronousSocketChannelImpl[connected local=/100.96.15.191:48982 remote=e44640a7-2991-42e8-a4be-2a7d0f348a50.hana.prod-eu20.hanacloud.ondemand.com/40.114.161.74:443]].) | The Celonis Platform IPs' are not whitelisted, check here for the IPs and whitelist the correct ones depending on whether you are using a direct or a cloud connection |
Snowflake | Error: Error loading resource SAP_P2P_FACT. No active warehouse was selected in the current session. Select an active warehouse with the 'use warehouse' command. | The user is missing the permissions to the table shown in the log. Please ensure the respective permissions are set on the Snowflake side. |