Driver Requirements

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

In general, we prefer JDBC connectors to ODBC connectors, as JDBC is cross-platform.

JDBC Drivers

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


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.

ODBC Drivers

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


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, etc)

You can see the full list of SQLSTATES in the official ODBC documentation and official JDBC documentation.