Snowflake

You can create a Snowflake environment by providing the necessary connection parameters.

Before creating a Snowflake environment, ensure that you have the following:

  • Prerequisites
  • JDBC driver configuration
  • TLS connection configuration
  • JDBC connection parameters

Prerequisites

To establish a connection, ensure that you have:

  • Created a dedicated service account for erwin with Metadata read-only privileges in the Snowflake database
  • Snowflake Database ports, 443 and 80, available via firewall to accept connections from erwin Data Intelligence (erwin DI) application server

JDBC Driver Configuration

Currently, the Snowflake JDBC driver is not packaged with the erwin DI application. You can download it here.

Once downloaded, copy the Snowflake drivers to the following location on the erwin DI application server:

\Apache Software Foundation\<Tomcat X.X>\webapps\erwinDISuite\WEB-INF\lib

TLS Connection Configuration

The Snowflake JDBC driver version 3.1.x and above implements TLS v1.2 and provides the latest security patches on the protocol. Once configured, the connection uses TLS 1.2 encryption by default.

  • If required, you can add the SSL parameter in the JDBC connection string as follows:
    jdbc:snowflake://<accountname>.snowflakecomputing.com/
    ?warehouse=DataWarehouseName&db=DatabaseName&schema=
    SchemaName&ssl=on
  • JDBC Connection Parameters

    UserId & Password and Key Pair Authentication

    The Connection Properties tab displays the connection parameters to establish a connection for the Snowflake database.

    Enter appropriate values in the fields (connection parameters). The fields marked with a red asterisk are mandatory.

    Field Name

    Description

    Driver Name

    Specifies the JDBC driver name for connecting to the database.

    For example, com.snowflake.client.jdbc.SnowflakeDriver

    IP Address/Host Name

    Enter <accountname>.snowflakecomputing.com

    For example, analytixds.us-east-3.snowflakecomputing.com

    DBMS Name/DSN

    Enter the Snowflake database name.

    For example, AW2012_DV.

    Port

    Specifies the port to connect to the database.

    443 is the default port for the Snowflake database. You can change it if required.

    Authentication Type

    Specifies the type of authentication.

    • UserId & Password: Specifies authentication using standard Snowflake credentials.

    • Key Pair: Specifies authentication using a public/private key pair registered with your Snowflake account.

    User Name

    Enter the Snowflake (Service account) username.

    For example, shawn.

    URL

    Specifies the full JDBC URL that is used to establish a connection with the database.

    It is autopopulated based on the other parameters.

    For example,

    jdbc:snowflake://<accountname>.snowflakecomputing.com/
    ?warehouse=DataWarehouseName&db=DatabaseName&
    schema=SchemaName

    Password

    Enter the Snowflake (Service account) password.

    This field is available only when Authentication Type is set to UserId & Password.

    Save Password

    Specifies whether the password is saved

    Configure Key Pair

    Use this option to configure key pair. This option is available only when the Authentication Type is set to Key Pair. For more information, refer to the Configuring Key Pairs topic.

    DBMS Instance Schema

    Specifies the schema of the database.

    Use this option to select multiple or narrow down to single schema.

    Connection Pool Type

    Specifies the connection pool type being used to connect via JDBC.

    For example, HIKARICP and BONECP.

    Thus field is available only when Authentication Type is set to UserId & Password.

    Number of Partitions

    Specifies the number of partitions of the database.

    It is autopopulated with default number of partitions. You can edit and provide the number of partitions as required. For example, 1.

    Minimum Connections Per Partitions

    Specifies the minimum connections per partitions of the database.

    It is autopopulated with default minimum connections per partitions. You can edit and provide the minimum connections per partitions as required. For example, 3.

    Maximum Connections Per Partitions

    Specifies the maximum connections per partitions of the database.

    It is autopopulated with default maximum connections per partitions. You can edit and provide the maximum connections per partitions as required. For example, 5.

    To use database options, click (Options).

    The Database Options page appears. It displays the available database options.

    Select keys and double-click the cells under the Value column to set the values of the keys. Click to save the database options.

    Once the connection parameters are entered, use these options to go to the next tab, test the connections, save and continue, or save and exit.

    OAuth Authentication

    The Connection Properties tab displays the connection parameters to establish a connection for the Snowflake database.

    Enter appropriate values in the fields (connection parameters). The fields marked with a red asterisk are mandatory.

    Field Name

    Description

    Driver Name

    Specifies the JDBC driver name for connecting to the database.

    For example, com.snowflake.client.jdbc.SnowflakeDriver

    IP Address/Host Name

    Enter <accountname>.snowflakecomputing.com

    For example, analytixds.us-east-3.snowflakecomputing.com

    DBMS Name/DSN

    Enter the Snowflake database name.

    For example, AW2012_DV.

    Port

    Specifies the port to connect with the database.

    443 is the default port for the Snowflake database. You can change it, if required.

    Authentication Type

    Specifies the type of authentication.

    • OAuth: Specifies authentication using an OAuth client.

    URL

    Specifies the full JDBC URL that is used to establish a connection with the database.

    It is autopopulated based on the other parameters.

    For example,

    jdbc:snowflake://<accountname>.snowflakecomputing.com/
    ?warehouse=DataWarehouseName&db=DatabaseName&
    schema=SchemaName

    Client ID

    Enter the OAuth client ID registered with Snowflake. This option is available only when the Authentication Type is set to OAuth.

    DBMS Instance Schema

    Specifies the schema of the database.

    Use this option to select multiple or narrow down to single schema.

    Client Secret

    Enter the corresponding client secret associated with the client ID. This option is available only when the Authentication Type is set to OAuth.

    Connection Pool Type

    Specifies the connection pool type being used to connect via JDBC.

    For example, HIKARICP and BONECP.

    Number of Partitions

    Specifies the number of partitions of the database.

    It is autopopulated with default number of partitions. You can edit and provide the number of partitions as required. For example, 1.

    Minimum Connections Per Partitions

    Specifies the minimum connections per partitions of the database.

    It is autopopulated with default minimum connections per partitions. You can edit and provide the minimum connections per partitions as required. For example, 3.

    Maximum Connections Per Partitions

    Specifies the maximum connections per partitions of the database.

    It is autopopulated with default maximum connections per partitions. You can edit and provide the maximum connections per partitions as required. For example, 5.

    To use database options, click (Options).

    The Database Options page appears. It displays the available database options.

    Select keys and double-click the cells under the Value column to set the values of the keys. Click to save the database options.

    Additionally, you can click to go to the next tab.

    To get the client ID and client secret, you first need to create OAuth security integration. Snowflake's OAuth integration now supports a single redirect URL for user redirection after authorization. For more information, refer to Snowflake documentation.

    Once the connection parameters are entered, follow these steps:

    1. Click Save.

    2. Click Login With Snowflake.

      A redirect pop-up appears.

    3. Click Ok.

      Clicking this option takes you to the Snowflake login page.

    4. Enter the Snowflake username and password, and then click Sign in.

      A Warning pop-up appears.

    5. Click Ok.

      A Snowflake OAuth Authorization pop-up appears.

    6. Click Allow.

    7. Clicking this option takes you to the particular environment from which the authentication process started.

      Once an environment is created, you can test the connection and scan metadata.