In this section
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.
To learn more about JDBC drivers and Tableau, check Specify the right JDBC driver section in the user documentation.
getDriverVersion
must be implemented and updated when the driver is updatedgetDriverName
must be implemented and should return a name that reasonably well describes the intended scope of driver usageIf 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.
When possible, minimize the dependencies on third party libraries. If you do use third party libraries, make sure they are up to date.
To learn more about ODBC drivers and Tableau, check the Tableau and ODBC page in the user documentation
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.