Comment on page
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.
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.
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.
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';
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.
Last modified 2mo ago