Snowflake

Overview


Snowflake is an analytic data warehouse that is fast, easy to use, and pliable. We have built the Snowflake Connected system to employ these benefits in Appian. You can use this connected system to create an integration object that can help perform SELECT, INSERT, UPDATE, DELETE, CALL FUNCTION or STORED PROCEDURE operations in the Snowflake Database tables or views.


To establish the connection, while creating a connected system you will need

  • Account Name: Full name of your account (provided by Snowflake). Note that your full account name might include additional segments that identify the region and cloud platform where your account is hosted. ex: <account>.snowflakecomputing.com
  • Role: Default access control role to use in the Snowflake session. The specified role should be an existing role that has already been assigned to the specified user. If the specified role has not already been assigned to the user, the role is not used when the session. ex: ACCOUNTADMIN, SECURITYADMIN, SYSADMIN, PUBLIC. (Only provide single role)
  • User: Login name of the user for the connection.
  • Password: Password of the account

 

Key Features & Functionality

  • Queried data from Snowflake will be returned in the integration as Dictionary format.
  • Added Warehouse, DB and Schema as the optional parameters.
  • The result will contain the total number of rows returned from Snowflake.
  • The result will contain the column metadata.
Anonymous
Parents
  • Our test environment was upgraded to 24.2 Sunday night.  After the upgrade we could no longer sync with Snowflake.  Up to that point, everything worked perfectly fine.  Now, we get errors when the sync tries to run.

    "Unable to sync due to an error in the Record Data Source during batch number 1

    The Record Data Source returned an error. Title: Error Occurred Detail: net.snowflake.client.jdbc.SnowflakeSQLException: 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:586). in query SELECT * FROM vwTHERAPYTYPE OFFSET 0 ROWS FETCH NEXT 1000 ROWS ONLY Message: 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:586)."

     

  • We're getting the same error.  Appian 24.2 with plugin version 3.1.0.  Test connection from the Connected System object is successful, but all integrations getting the error.

  • 24.2 utilizes Java 17.  There is a known Snowflake issue regarding this.  As a workaround, we were able to update the connection string within Snowflake to allow us to start syncing again.

    ALTER USER [USER] SET JDBC_QUERY_RESULT_FORMAT='JSON';

Comment
  • 24.2 utilizes Java 17.  There is a known Snowflake issue regarding this.  As a workaround, we were able to update the connection string within Snowflake to allow us to start syncing again.

    ALTER USER [USER] SET JDBC_QUERY_RESULT_FORMAT='JSON';

Children