May 27, 2023

How to Connect Tableau Desktop to Snowflake

 

Environment:  Tableau Desktop 2022.3, M1 MacBook Pro, macOS 12.6.3

Connecting Tableau Desktop to most data sources should be a straightforward process.  However, it seems that connecting to Snowflake can present some complications.  This blog will detail the procedure, which I hope will save you some time and unnecessary headache.
 
When connecting Tableau Desktop to Snowflake, Tableau Desktop will ask to download Snowflake ODBC Driver.   
 
Issue:  After downloading the driver, restarting the laptop, & connecting to Snowflake, Tableau Desktop keeps asking you to download the Snowflake driver.
 
 
Tableau Community has a thread about this issue.  Here're the steps that I've found to make it work.
 
1) Install iODBC since Snowflake ODBC driver for macOS requires this.
 
2) Configure ODBC driver for macOS at system DSN.

 

a.    Click on Finder\Go to Folder\,  and type in /Library/ODBC/. 

 

 

b.    Go to folder MacintoshHD\Library\ODBC\ and open file odbcinst.ini  

 


 

c.     Add these 3 lines and save the odbcinst.ini file.

Snowflake = Installed

[Snowflake]

Driver = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib

 

 


 

d.    Issue:  When you save the odbcinst.ini file, you might encounter a message that you do not have write permission for odbcinst.ini file.
 

 


 


Solution for issue in step d:

 

e.    Go to folder MacintoshHD\Library\ODBC, right click on ODBC folder and select ‘Get Info’.  The ODBC Info screen will pop up. 

 

 


 

f.     Click on the lock icon in lower right side to unlock ‘Sharing & Permissions’ section that will allow you to change the Read & Write privilege.

 


 

g.    Click on the ‘wheel’ section to highlight it, then click the ‘+’ sign.  Notice the lock icon has been changed to opened. 

 

 

h.    This screen will pop up, select all (Administrators, it, your name, and User Backup) and click the 'Select' button.
 

 


 

 

i.      Change all users and groups to have 'Read & Write' privilege, with the exception of 'everyone' which should have 'Read only' privilege.  

 

j.      Click on the lock icon to lock the permissions.  Close the ‘ODBC Info’ screen.

 

Completing steps e. to j. will allow ODBC Folder to have 'Read & Write' privilege.

 

 

k.    Repeat steps f. to j. for files odbc.ini and odbcinst.ini in folder MacintoshHD\Library\ODBC\

 

Step k. is needed because granting 'Read & Write' privilege to ODBC Folder doesn’t mean the privilege will flow down to the files within the folder.  Both files odbc.ini and odbcinst.ini will also need to be granted 'Read & Write' privilege.

 

l.      Repeat steps b. and c. to modify and save the odbcinst.ini file.  You should now be able to save the change to odbcinst.ini file.

 

m.  Open file odbc.ini.  Since this file is empty, it should be changed as below:

[ODBC Data Sources]

Snowflake = Snowflake

[Snowflake]

Driver   = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib

 

 

  


After completing the steps above, you should be ready to connect from Tableau Desktop to Snowflake.
 
Open Tableau Desktop and connect to Snowflake.  In 'Server' section, enter your company Snowflake account link and in 'Authentication', select 'Sign in using OAuth'.  Then click 'Sign In' button.  Finally, you should be able to connect to Snowflake environment.