---
schema_version: "1"
id: f46b76cd28be2b6c334674cc4fcea8291730e03e4303b300380f5ca6794623b6
title: Tableau and JDBC
collection: tableau
version: current
locale: en-gb
portal_url: https://docs.salesforce.com/tableau/current/en-gb/pro/desktop/jdbc_tableau.md
canonical_url: https://help.tableau.com/current/pro/desktop/en-gb/jdbc_tableau.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 885980179c07c60e4cd28470f9b0827e2e25b7273049f345e01d35c86545feec
description: Understand how Tableau uses JDBC drivers and how to tune their performance.
---
[Skip to main content](#main-content)

# Tableau and JDBC

Tableau supports JDBC (Java Database Connectivity) drivers for several connectors. This includes both official named connectors, such as Athena, and generic connector for use with other JDBC-based drivers, called **Other Databases (JDBC)**.

JDBC requires Java, which makes it platform-independent. Starting with version 2020.2, all Tableau applications are bundled with the Java Runtime, so you don't have to install it separately.

**Note:** If you’re using a version of Tableau Desktop before 2020.2, see the [Driver Downloads](https://www.tableau.com/en-gb/support/drivers) page for instructions on installing Java.

## Tune JDBC connector performance

Tableau supports the ability to customise your JDBC data connection, which can improve the connection experience. For more information, see [Customise and Tune Connections](https://help.tableau.com/current/pro/desktop/en-gb/connect_customize.htm).

## Tableau support for JDBC connections

Tableau provides no guarantee or warranty that using the **Other Databases (JDBC)** connector with any particular JDBC driver or database will be able to successfully connect and query data. Some JDBC drivers will support the full Tableau interactive experience, while others may work only for creating extracts. Some JDBC drivers might not work with Tableau.

Note: Tableau will provide reasonable levels of customer support to assist in troubleshooting connections with JDBC drivers, but can't create or customise a connector to work with a specific JDBC driver.

## Frequently asked questions

Here’s a list of some common problems and steps to resolution.

I'm seeing a ‘Missing Java’ message. What now?

This sometimes happens if you’re using a version of Tableau before 2020.2 or using Kerberos on Windows. See the [Driver Downloads](https://www.tableau.com/en-gb/support/drivers) page for instructions on installing the correct version of Java for your connector.

Starting with version 2020.2, all Tableau applications are bundled with the Java Runtime, so you won't have this error.

**I'm seeing a "Missing Driver" message. What should I do?**

Install the driver, and any libraries it depends on, in one of the following paths:

- Windows: C:\\Program Files\\Tableau\\Drivers
- Mac: /Library/JDBC or ~/Library/JDBC
- Linux: /opt/tableau/tableau\_driver/jdbc

Ensure that the driver is readable by the user running Tableau, or the Tableau service user.

**I have multiple JDBC drivers installed for Tableau, but I'm having trouble connecting. What should I do?**

If you have multiple JDBC drivers installed for Tableau, they may use different versions of the same third-party library. This may cause problems in unpredictable ways. If you have strange errors while connecting, and you have multiple JDBC drivers installed in the JDBC drivers folder, then you can use the following steps to isolate them.

Suppose you have these libraries installed in the JDBC folder:

- athena-driver.jar
- athena-dependency.jar
- athena-dependency.so
- postgres-driver.jar

To isolate the Athena driver from the Postgres driver, install them in separate subdirectories:

- Athena/athena-driver.jar
- Athena/athena-dependency.jar
- Athena/athena-dependency.dll
- Postgres/postgres-driver.jar

After you’ve moved the drivers, restart Tableau.

**I'm seeing a “ClassNotFoundException” (or similar) message. What should I do?**

If you’re running a JDBC driver that isn’t Java 11 compatible, you may experience problems running Tableau.

If you think your issues might be caused by Java 11:

1. Download Java 64-bit JRE (Java Runtime Environment) or JDK (Java Development Kit) from AdoptOpenJDK:
    1. Go to [https://adoptopenjdk.net/releases.html](https://adoptopenjdk.net/releases.html).
    2. Select **OpenJDK 11**, and select **Hotspot**.
    3. Select **Other Platforms** to view a full list of options.
    4. Download the JRE or JDK for your operating system.
2. On the computer running Tableau, set an environment variable like one of the following:
    
    TABLEAU\_JAVA\_HOME=C:\\Program Files\\AdoptOpenJDK\\jre-8.0.232.09-hotspot
    
    or
    
    TABLEAU\_JAVA\_HOME=C:\\Program Files\\AdoptOpenJDK\\jdk-8.0.252.09-hotspot

**How do I resolve proxy problems?**

Starting with version 2019.4, when Tableau runs on Windows, it reads proxy settings by enabling the `useSystemProxies` option for [Java](https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html).

In some cases, this can cause problems. For example, if you select ‘Use the same proxy server for all protocols’, the Java Virtual Machine tries to use a SOCKS proxy.

To find instructions for resolving this issue, see the Tableau Knowledge Base article called [Tableau Fails To Connect to Amazon Athena through Proxy With Error Code 37CE01A3](https://kb.tableau.com/articles/issue/tableau-desktop-fails-to-connect-to-amazon-athena-through-proxy-with-error-code-37ce01a3?lang=en-gb). This article refers to Athena specifically, but this can apply to any JDBC connector.

**I'm having trouble connecting to a server with SSL. What can I try?**

If you see an error message like “Couldn’t find SSL verification path”, you may need to configure a certificate or private keys.

See [One-Way SSL for JDBC Connections](https://help.tableau.com/current/pro/desktop/en-gb/jdbc_ssl_config.htm) for instructions on using a certificate. If you’re using an Oracle JDBC driver, see [Oracle JDBC Connections with SSL](https://help.tableau.com/current/pro/desktop/en-gb/jdbc_oracle_ssl_config.htm) for information on using the appropriate certificates and/or key to connect.

**Using Other Database (JDBC) connector with a Postgres JDBC driver, attempts to create extracts sometimes fail. What can I try?**

You may run into errors if the Postgres driver fetch size isn’t set and if auto-commit is enabled. The driver will attempt to handle too much data at a time, and won’t be able to.

Try the following:

1. Set the fetch size for your data using defaultRowFetchSize.
    
    See the [JDBC Driver](https://jdbc.postgresql.org/documentation/head/connect.html) page on the PostgreSQL site for details.
2. Disable auto-commit by creating (or editing an existing) TDC file. Include the following in the TDC file:
    
    `<?xml version='1.0' encoding='utf-8' ?>   <connection-customization class="genericjdbc" enabled="true" version="10">   <vendor name="genericjdbc"/>   <driver name="postgresql"/>   <customizations>   <customization name="CAP_JDBC_QUERY_DISABLE_AUTO_COMMIT" value="yes"/>   </customizations>   </connection-customization>`
    
    **Note:** While this step is required when you use the Other Database (JDBC) connector, it isn’t required for for named Tableau connector because auto-commit is already set by default.
    
    For more information on using a TDC file for JDBC connections, see [Customise and Tune Connections](https://help.tableau.com/current/pro/desktop/en-gb/connect_customize.htm).

### See also

[Other Databases (JDBC)](https://help.tableau.com/current/pro/desktop/en-gb/examples_otherdatabases_jdbc.htm) – Describes how to connect to your data using the generic JDBC connector.

[Customise and Tune Connections](https://help.tableau.com/current/pro/desktop/en-gb/connect_customize.htm) – describes how to use TDC and .properties files to customise connections.

[One-Way SSL for JDBC Connections](https://help.tableau.com/current/pro/desktop/en-gb/jdbc_ssl_config.htm) – Provides instructions on using a certificate with a JDBC driver to access a server with SSL.

[Tableau JDBC Capability Customisations Reference](https://help.tableau.com/current/pro/desktop/en-gb/jdbc_capabilities.htm) – Lists customisations you can use to define which Tableau capabilities are supported by the data source.