My Snowflake systems architect informed me that I was using an outdated JDBC driver to connect to Snowflake via the Snowflake connector and that I needed to use version 3.13.33. I downloaded this and was able to update it and successfully connect to our Snowflake instance. The issue I have now is with the DB Query or DB Table Selector nodes now giving an error message. Execute failed: JDBC driver internal error: exception creating result java.lang.NoClassDefFoundError: Could not initialize class net.snowflake.client.jdbc.internal.apache.arrow.memory.RootAllocator at net.snowflake.client.jdbc.SnowflakeResultSetSerializableV1.create(SnowflakeResultSetSerializableV1.java:591).
Snowflake connector is “Green” and DB Query Reader can see the tables and schemas but it can’t view columns and the sql queries that previously worked give the error.
Hello @irfytw ,
this seems to be a compatibility problem with the Arrow part of the Snowflake driver and JDK17 which is used in KNIME Analytics Platform. For details see this Github issue.
To solve the problem you need to add the following parameter to the JDBC Parameter tab of the Snowflake Connector node JDBC_QUERY_RESULT_FORMAT
with value JSON
We will further investigate if we can do something on the KNIME site to fix this problem and will post here if we find another solution.
Bye
Tobias
Hello @irfytw ,
just found out that only the latest driver seems to be affected with the problem. So instead of setting the parameter you could also use version 3.13.32 of the driver without changing anything in the node configuration.
I opened an issue in Github to inform the Snowflake developer about the problem.
Bye
Tobias
Thank you for the quick response and support Tobias.
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.