Search code examples
jdbcsnowflake-cloud-data-platformdbeaverdatagrip

Why snowflake jdbc throws [XX000][200001] error


I try to make connections on snowflake via datagrip and DBeaver. Test connections successfully connects on both, but it does not load the schemas and throws an error like this:

[XX000][200001] JDBC driver internal error: exception creating result
java.lang.IllegalArgumentException: No enum constant
net.snowflake.client.jdbc.SnowflakeType.TİMESTAMP_LTZ at
java.base/java.lang.Enum.valueOf(Enum.java:240).

Any solutions or faced with anyone else?


Solution

  • This is the common bug in java programs, in your case in JDBC driver. That caused by converting string to upper case without specifying locale, which defaults to system, which is Turkish in your case, causing "i".toUpperCase() to be "İ".

    To workaround that you could specify locale for process. In DataGrip, you can go to advanced tab of the data source settings and put -Duser.country=US -Duser.language=en to VM Options

    enter image description here