Driver Requirements


In this section

Overview

Connectors built with the Connector SDK use either an ODBC or a JDBC driver to communicate with the database.

The Tableau Exchange requires using a JDBC driver.

JDBC Drivers

To learn more about JDBC drivers and Tableau, check Specify the right JDBC driver section in the user documentation.

Requirements

JDBC Driver Class Isolation

If the driver only includes a single jar file, copy it to the JDBC driver location.
If the driver includes more than a single file, create a unique subfolder under JDBC driver location and include all required files.

This will create an isolated classloader for that driver.

Third Party Libraries

When possible, minimize the dependencies on third party libraries. If you do use third party libraries, make sure they are up to date.

ODBC Drivers

To learn more about ODBC drivers and Tableau, check the Tableau and ODBC page in the user documentation

Requirements

Important SQLStates

Tableau expects correct SQLStates to be returned in certain situations. Inaccurate SQLStates (for example, returning a generic error instead of SLQState 28000 for invalid credentials) may cause bugs in the connector.

SQLSTATE Error Scenario
1002 Disconnect Error Connection is disconnected
08001 Unable to Connect Client unable to connect to server
28000 Invalid Authorization Specialization User enters invalid credentials (Bad username\password, and so on)

You can see the full list of SQLSTATES in the official ODBC documentation. JDBC drivers should ensure SQLException.getSQLState contains accurate SQLStates. A general list of SQLStates can also be found here.