Snowflake query error: No active warehouse selected in the current session. Select an active warehouse with the 'use warehouse' command.

In order to run a query against Snowflake, a warehouse must be employed. If quering anything other than the default demo data, the user will no doubt be given a login and particular role, to protect the source data from security violations

Let's assume that the datasource connection already exists. 

And we now want to see the metadata of the connection. In this case, we are looking at the table TEST01 in the database ZETARIS01, schema PIPELINE . Click the table name to expand the metadata high level contents.

However, we land up with this result. 

Upon inspection, we find that the connection is complaining about not being assigned a warehouse, even though the datasource connection explicitly states a warehouse and there is a default warehouse to be used for the particular user in Snowflake.

Let's go take a look at Snowflake to see what the problem could be.

So far this looks fine. The user ZDEMO has been specified in the datasource connection. This user has the default role SALES and the deault warehouse WH_XSMALL assigned to it. What could the matter be?

Could it be the warehouse name? 

Nope! All good on this front.

What is required is for the role that the user connects with to be able to actually use the warehouse. This is not obvious, but it a step that if missing will trip you up. The warehouse was created by the SYSADMIN role so the useage of the warehouse needs to be granted by that role or a superior role (in Snowflake, ACCOUNTADMIN role is the most senior role and is used to create accounts). So what happens once the usage privilege on the warehouse is granted?

Everything works as expected.