Snowflake Database Connection parameters are case sensitive

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2020.0

Symptom

When trying to connect to a Snowflake Database, a "session does not have a current database" error occurs. 
 

Cause

When making connections to a Snowflake database please note that the connection parameters are case-sensitive. This is covered in our Documentation, but if you missed this, you may receive the following error message on attempting to add a feature type to the canvas:

Error reading schema for table 'PUBLIC.SNOW_MAJORROADS'. Error: net.snowflake.client.jdbc.SnowflakeSQLException: Cannot perform SELECT. This session does not have a current database. Call 'USE DATABASE', or use a qualified name.

This is likely due to a case mismatch in your Database Connection settings. You may also see another line in the translation log window:

{warehouse="my_wh", db="mytest_db", user=myusername, application=SafeSoftwareFME, password=************, schema="mytest"}

This confirms what was sent to the Snowflake database. The values for "db", for example, are lowercase.
 

Solution

Edit your Database Connection and change the case of the parameters for "Warehouse", "Database", and "Schema".

Lowercase Example:
screenshot-2020-05-21-173258.png
 

Uppercase Example:

screenshot-2020-05-21-173333.png

 

Summary

When creating a JDBC connection, which the Snowflake format is using, the parameters for Warehouse, Database, & Schema are automatically double-quoted and this persists the case of the parameter sent to the database. If the database is expecting a different case then an error will occur. Ensure the correct case is in use when creating a Snowflake Database Connection.

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.