Installing and Configuring the ODBC Driver for Mac OS

Similar to Windows, Mac OS utilizes named data sources (DSNs) for connecting ODBC-based client applications to Snowflake.

In this Topic:

Prerequisites

iODBC

The Snowflake ODBC driver for Mac requires iODBC, which is available for download from:

To install iODBC:

  1. After downloading iODBC, double-click on the downloaded .dmg file.
  2. Double-click on the installer file, iODBC-SDK.pkg, and follow the prompts.

Note

iODBC provides a GUI administrator tool for configuring drivers and DSNs; however, this tool has not been tested for use with Snowflake and, therefore, should not be used to create or manage DSNs. Use ODBC Manager instead.

Step 1: Install the ODBC Driver

To install the Snowflake ODBC driver for Mac OS:

  1. If you haven’t already downloaded the driver, download it now. For details, see Downloading the ODBC Driver.

  2. Double-click on the downloaded .dmg file, snowflake_odbc_mac-<version>.dmg.

  3. Double-click on the installer file, snowflakeODBC_<version>.pkg, and follow the prompts.

    You will likely be prompted for the administrator/sudo password for the machine on which you are installing the driver.

If you chose the default directory, the installer installs the ODBC driver files in the following directories:

/opt/snowflake/snowflakeodbc

/Library/ODBC

Step 2: Configure the ODBC Driver

To configure the ODBC driver for Mac OS, create one or more data source (DSNs), which are stored in the following files, depending on the type of DSN you create:

  • User DSNs: ~/Library/ODBC/odbc.ini
  • System DSNs: /Library/ODBC/odbc.ini

To create a DSN, either use ODBC Manager or edit the appropriate odbc.ini file.

Creating a DSN Using ODBC Manager

To create a DSN in ODBC Manager:

  1. Start ODBC Manager.

  2. Click on User DSN or System DSN.

  3. Click the Add button.

  4. Select the driver to use (Snowflake) and click OK.

  5. Enter the name of the DSN and optionally a description.

  6. Create a Keyword/Value pair for each DSN parameter:

    1. Click Add to create a Keyword/Value pair.
    2. Select Keyword and replace it with the parameter name.
    3. Select Value and replace it with the value for the parameter.

    Repeat this process for each parameter. For details about the parameters that can be set for each DSN, see ODBC Configuration and Connection Parameters.

  7. Click OK to create the DSN.

If you are creating the first user or system DSN for the ODBC driver, ODBC Manager creates the odbc.ini file in the corresponding directory for the type of DSN you are creating. If you are creating additional DSNs, ODBC Manager adds entries for each DSN to the existing odbc.ini file.

Creating a DSN by Adding an Entry in the odbc.ini File

If a user or system DSN has already been created for the driver, add the new entry to the odbc.ini file that already exists in the corresponding directory for the type of DSN you are creating. If you are creating the first DSN for the driver, you must manually create the odbc.ini file and add the entry to the file.

For each DSN, specify:

  • DSN name and driver name (Snowflake), in the form of <dsn_name> = <driver_name>.
  • Directory path and name of the driver file, in the form of Driver = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib.
  • Connection parameters, such as server and uid (user login name). Any connection parameters you add to the DSN do not need to be specified in the ODBC connect string.
  • Any additional parameters, such as default role, database, and warehouse.

Parameters are specified in the form of <parameter_name> = <value>. For details about the parameters that can be set for each DSN, see ODBC Configuration and Connection Parameters.

The following example illustrates an odbc.ini file containing two drivers, testodbc1 for account abc123 (located in the US West Snowflake Region) and testodbc2 for account def456 (located in the US East Snowflake Region):

[ODBC Data Sources]
testodbc1 = Snowflake
testodbc2 = Snowflake


[testodbc1]
Driver      = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
Description =
uid         = peter
server      = abc123.snowflakecomputing.com
role        = sysadmin


[testodbc2]
Driver      = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
Description =
uid         = mary
server      = def456.us-east-1.snowflakecomputing.com
role        = analyst
database    = sales
warehouse   = analysis

Note the following:

  • Both testodbc1 and testodbc2 have default roles.
  • testodbc2 also has a default database and warehouse.

Step 3: Test the ODBC Driver

You can use the iodbctest command line utility provided with iODBC to test the DSNs you create.

When prompted for the ODBC connect string, enter the required connection parameters (DSN name, server, user login name, and password), as well as any other parameters that you would like to enter as part of the connect string. The connect string takes parameters in the form of <parameter_name>=<value>, e.g. dsn=testodbc2, with each parameter separated by a semi-colon (;) and no blank spaces. For the list of supported parameters, see ODBC Configuration and Connection Parameters.

Note

If you set the server and user login name in the DSN, the only required parameters in the connect string are the DSN name and user password.

For example:

$ iodbctest

iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0607.1008

Enter ODBC connect string (? shows list): dsn=testodbc2;pwd=<password>

Dec 14 20:16:08 INFO  1299 SFConnection::connect: Tracing level: 4

Driver: 2.12.36 (Snowflake - Latest version supported by Snowflake: 2.12.38)

SQL>