Snowflake

This article describes how to create and maintain connections to your Snowflake database.

Before you can write your transformed data to a table in Snowflake, you should first establish a connection to your Snowflake database.

Create a Snowflake connection

Simple example

A Snowflake connection can be created as simply as follows:

CREATE SNOWFLAKE CONNECTION my_snowflake_connection
    CONNECTION_STRING = 'jdbc:snowflake://snowflakedemo.us-east-1.snowflakecomputing.com?db=DEMO_DB&warehouse=DEMO_WH&role=ADMIN'
    USER_NAME = 'your_user'
    PASSWORD = 'your_pass';

Note that a Snowflake connection must specify the database it is connecting to within the connection string.

This means that in order to connect to multiple databases within your account, you need to create at least one connection per database.

Full example

The following example also creates a Snowflake connection but additionally limits the maximum number of concurrent connections to your database by configuring an additional option MAX_CONCURRENT_CONNECTIONS:

CREATE SNOWFLAKE CONNECTION my_snowflake_connection
    CONNECTION_STRING = 'jdbc:snowflake://snowflakedemo.us-east-1.snowflakecomputing.com?db=DEMO_DB&warehouse=DEMO_WH&role=ADMIN'
    USER_NAME = 'your_user'
    PASSWORD = 'your_pass'
    MAX_CONCURRENT_CONNECTIONS = 23
    COMMENT = 'snowflake connection example';

For the full list of connection options with syntax and detailed descriptions, see: Snowflake connection with SQL

Once you've created your connection, you are ready to move onto the next step of building your data pipeline: reading your data into SQLake with an ingestion job.

Alter a Snowflake connection

Certain connection options are considered mutable, meaning that in some cases, you can run a SQL command to alter an existing Snowflake connection rather than creating a new one.

For example, take the Snowflake connection we created previously:

CREATE SNOWFLAKE CONNECTION my_snowflake_connection
    CONNECTION_STRING = 'jdbc:snowflake://snowflakedemo.us-east-1.snowflakecomputing.com?db=DEMO_DB&warehouse=DEMO_WH&role=ADMIN'
    USER_NAME = 'your_user'
    PASSWORD = 'your_pass';

To change the database you are connecting to but keep everything else the same without having to create an entirely new connection, you can run the following command:

ALTER SNOWFLAKE CONNECTION my_snowflake_connection
    SET CONNECTION_STRING = 'jdbc:snowflake://snowflakedemo.us-east-1.snowflakecomputing.com?db=NEW_DB&warehouse=DEMO_WH&role=ADMIN'; 

To check which specific connection options are mutable, see Snowflake connection with SQL

Drop a Snowflake connection

If you no longer need a certain connection, you can easily drop it with the following SQL command:

DROP CONNECTION my_snowflake_connection; 

However, note that if there are existing tables or jobs that are dependent upon the connection in question, the connection cannot be deleted.

For more details, see: DROP CONNECTION

Last updated