FME Version
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:
Uppercase Example:
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.
Comments
0 comments
Please sign in to leave a comment.