ODBC Configuration and Connection Parameters

The Snowflake ODBC driver utilizes configuration and connection parameters. The procedures for setting the parameters are different depending on the platform in which the driver is installed.

In this Topic:

Setting Parameters in Windows

In Windows:

  • Configuration parameters are set in the Windows registry using regedit and the following registry path:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Snowflake\Driver]
    
  • Connection parameters are set in Data Source Names (DSNs):

    • DSNs are typically created and edited using the Windows Data Source Administration Tool.

    • If you wish, the registry keys for DSNs can be edited directly in the Windows registry using regedit. The registry path to the keys is different depending on whether you’re using 64-bit and 32-bit Windows and whether you’re editing a user or system DSN:

      • 64-bit Windows:

        [HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI\<DSN_NAME>]
        
        [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\<DSN_NAME>]
        
      • 32-bit Windows:

        [HKEY_CURRENT_USER\SOFTWARE\WOW6432NODE\ODBC\ODBC.INI\<DSN_NAME>]
        
        [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\ODBC\ODBC.INI\<DSN_NAME>]
        

      To add a connection parameter using regedit, add a new String Value, double-click on the value you created, then enter the ODBC parameter as the Value name and the parameter value as the Value data.

Setting Parameters in Mac OS/Linux

In Mac OS or Linux:

  • Configuration parameters are set in the configuration file (simba.snowflake.ini).
  • Connection parameters are set in the DSN file (odbc.ini).

Configuration Parameters

LogLevel
Specifies the level of detail logged for clients that use the ODBC driver.
LogPath
Specifies the location of the Snowflake log files for clients that use the ODBC driver.

Connecting Through a Proxy Server

To connect through a proxy server, add the following configuration parameter:

Proxy

Specifies a proxy for Snowflake, in the form of <host>:<port>, for clients that use the ODBC driver.

Note

In Windows, entries for LogLevel and LogPath are created and populated with default values when the ODBC driver is installed; however, an entry for Proxy is not created during install. To specify a proxy to use with the driver, you must manually add the entry to the driver registry key.

Connection Parameters

Required Connection Parameters

<name> (Data Source)
Specifies the name of your DSN.
uid (User)
Specifies the login name of the Snowflake user to authenticate.
pwd (Password)

A password is required to connect to Snowflake; however, for security and authentication reasons, Snowflake strongly discourages storing password credentials directly within any DSN definition.

Typically, the credentials are passed to the driver programmatically by the client application that is attempting to connect to Snowflake.

Note

In Windows, the ODBC driver displays a Password field in the Data Source Administration Tool; however, the driver does not store any values entered in the field. Instead, the driver requires login credentials to be provided at connection time.

If the connecting application does not provide the required credentials, the driver interactively prompts for the information.

server (Server)

Specifies the domain name for your account provided to you by Snowflake in the form of:

  • For US West accounts: <account_name>.snowflakecomputing.com (e.g. abc123.snowflakecomputing.com).
  • For US East accounts: <account_name>.us-east-1.snowflakecomputing.com (e.g. abc123.us-east-1.snowflakecomputing.com).
  • For EU (Frankfurt) accounts: <account_name>.eu-central-1.snowflakecomputing.com (e.g. abc123.eu-central-1.snowflakecomputing.com).

Note

There is no need to change the default Port value of 443.

Optional Connection Parameters

database (Database)
Specifies the default database to use for sessions initiated by the driver.
schema (Schema)

Specifies the default schema to use for sessions initiated by the driver.

Default is public.

warehouse (Warehouse)
Specifies the default warehouse to use for sessions initiated by the driver.
role (Role)
Specifies the default role to use for sessions initiated by the driver. The specified role should be a role that has been assigned to the specified user for the driver. If the specified role does not match any of the roles assigned to the user, sessions initiated by the driver have no role initially; however, a role can always be specified from within the session.
tracing (Tracing)

The level of detail to be logged in the driver trace files:

0 = Disable tracing

1 = Fatal only error tracing

2 = Error tracing

3 = Warning tracing

4 = Info tracing

5 = Debug tracing

6 = Detailed tracing

Additional Connection Parameters

Note

In Windows, these additional connection parameters can only be set in the Windows Registry using regedit.

In Mac OS or Linux, they are set in the odbc.ini file, similar to the rest of the connection parameters.

authenticator

Specifies the authenticator (snowflake or https:://<octa_account_name>.okta.com) to use for authenticating the user.

Only set this parameter to https://<okta_account_name>.okta.com if you are enabling Okta as the federated authentication IdP for your account. For more information, see Enabling Federated Authentication and SSO.

The default is snowflake.

CLIENT_SESSION_KEEP_ALIVE

Specifies whether to keep the current session active after a period of inactivity, or to force the user to login again. If the value is true, Snowflake keeps the session active indefinitely, even if there is no activity from the user. If the value is false, the user must log in again after four hours of inactivity.

  • true specifies to keep the session active indefinitely.
  • false specifies to log out after four hours of inactivity.

Default is false.

passcode

Specifies the passcode to use for multi-factor authentication.

For more information about multi-factor authentication, see Understanding Multi-Factor Authentication.

passcodeInPassword

Specifies whether the passcode for multi-factor authentication is appended to the password:

  • on (or true) specifies the passcode is appended.
  • off (or false) or any other value specifies the passcode is not appended.

The default value is off.

login_timeout

Specifies how long to wait for a response when connecting to the Snowflake service before returning a login failure error.

Default is 60 seconds.

network_timeout

Specifies how long to wait for a response when interacting with the Snowflake service before returning an error. Zero (0) indicates no network timeout is set.

Default is 0 seconds.

query_timeout

Specifies how long to wait for a query to complete before returning an error. Zero (0) indicates to wait indefinitely.

Default is 0 seconds.