Overview
In order to connect to a Snowflake database, you will need a user account in Snowflake with permissions to access your data. Then, in the app, enter the account identifier, database, user and password to let Steep connect to your database.
Account Identifier
Example: myorg-account123
See the Snowflake documentation for how to find your account identifier.
Database
Example: MY_COMPANY
User
Example: steep
Password
Example: ******
Setting up a user account in Snowflake
We recommend that you create a new user and role specifically for Steep. This is best done in a worksheet in the Snowflake console. See below for a step-by-step guide.
1. New worksheet
Head to the Snowflake console, navigate to Worksheets and create a new worksheet.
2. Create role and user
Example SQL script below. Please replace all <brackets> with your details.
-- Create Role CREATE ROLE IF NOT EXISTS STEEP; GRANT USAGE ON WAREHOUSE <COMPUTE_WH> TO ROLE STEEP; GRANT USAGE ON DATABASE <MY_DATABASE> TO ROLE STEEP; GRANT USAGE ON SCHEMA <MY_SCHEMA> TO ROLE STEEP; GRANT SELECT ON ALL TABLES IN SCHEMA <MY_SCHEMA> TO ROLE STEEP; -- Create User CREATE USER IF NOT EXISTS steep PASSWORD = '<unique-password>' MUST_CHANGE_PASSWORD = FALSE DEFAULT_ROLE = STEEP; GRANT ROLE STEEP TO USER steep; ALTER USER steep SET DEFAULT_WAREHOUSE = <COMPUTE_WH>;
3. Enter credentials in Steep
Copy the user and password to the corresponding fields in the Steep database form. Test the connection to make sure things are working fine.
Troubleshooting
I could successfully connect my database but when fetching tables I get the following error
No active warehouse selected in the current session. Select an active warehouse with the 'use warehouse' command.
Make sure the user used has a default warehouse set as described above, and that it is the correct one. Also double check that the role has usage granted on that same warehouse.
I could successfully connect my database but when fetching tables I get the following error
Cannot perform SELECT. This session does not have a current database. Call 'USE DATABASE', or use a qualified name.
The database you entered in the data source configuration cannot be found. Make sure the database name entered is the correct one. Make sure the user has DEFAULT_ROLE
set as in example script above. Make sure the role used has the correct grants on warehouse, database and schema.