This document describes how to get Tableau Desktop working with a Snowflake datasource connection via StrongDM in the following ways.
- Snowflake connector built-in to Tableau Desktop
- ODBC connection manager and ODBC connection in Tableau Desktop
Note: This will only work with the Snowflake database resource type, not the website (HTTP) resource type.
Do note that other clients and JDBC connections are also supported. Please see our datasource connection documentation for more information.
Snowflake Connector (Easiest)
To use the Snowflake connector built in to Tableau Desktop, follow these steps.
- Open Tableau Desktop, select More in the left sidebar under the Connect To a Server section at the bottom left, and search for Snowflake. Select the Snowflake connector:
- In the configuration popup, set the Server field with your StrongDM Snowflake database resource hostname, and set a random Username/Password as they can't be empty:
NOTE: The above configuration is when using VNM mode.
For loopback mode use localhost or 127.0.0.1 as the Server
- On the Advanced tab, enter the custom Driver parameter SSL=false:
NOTE: The above configuration is when using VNM mode.
For loopback mode, the driver parameters should be: ssl=false;port=10014
(Use the port listed in your SDM client for your Snowflake resource)
- Click Sign In. The connection should be successful at this point.
ODBC Connector
To use the ODBC connector to get Tableau Desktop working with a Snowflake datasource connection, follow these steps.
- Create a new ODBC connection. In this example, this is done under the User DSN option. In the configuration dialog, set the Data Source name to something like “Snowflake.” SetUser to anything except empty. Set Server to be your StrongDM Snowflake database resource hostname. Click OK (You can ignore the Test button as it will fail until more configuration is done later.)
The ODBC driver for Snowflake supports some "hidden" registry parameters that are not available in the dialog window above. The registry path information is linked in the Resources section at the bottom, but you can use what I have in the screenshot as well if you followed along with the User DSN option instead of System DSN.
- You'll need to add two new String values in the ODBC.INI/Snowflake key:
- SSL: Set it to false.
- PWD: Set it to anything but empty.
Adding these values is required to hardcode a random password into the connection because ODBC does not store passwords by default and Tableau Desktop requires a password to be input. We also need SSL turned off in order to run through the StrongDM proxy:
- Once that is done, go back to the ODBC connection manager and Test that the Snowflake connection is successful.
- Now go to Tableau Desktop and select Other Databases (ODBC) in the left sidebar. In this new popup, select your newly created User DSN Snowflake and click Connect:
After you click Connect, it will take a few seconds to establish a connection in the background and the Sign In button will turn orange.
- Click Sign In to get into Tableau Desktop with this new connection. There is no need to fill anything out in the Connection Attributes section.
The ODBC connector in Tableau Desktop should now work via your ODBC connection manager.
Resources and Additional Information
- Snowflake ODBC Configuration: This doc mentions in a Note at the bottom of the page that ODBC parameters can be added via registry.
- The ODBC driver supports additional parameters that are not displayed in the dialog. These parameters can only be set in the Windows registry using regedit.
- For descriptions of all the parameters, see ODBC configuration and connection parameters in the Snowflake documentation.The SSL and PWD flag are not listed anywhere on the doc pages, so these seem to be very hidden parameters.
- Snowflake ODBC Registry: This doc page shows you what registry paths to edit to add parameters to your connection. Note that in the example, it was added in the HKEY_CURRENT_USER path because the User DSN option was used. If you create a System DSN, you would probably have to put it in the other path for HKEY_LOCAL_MACHINE.