You are currently reviewing an older revision of this page.

DRAFT KB-XXXX Error SQLCODE=-670 during schema creation on DB2

Symptoms

1. Error noticed in the tomcat-stdout.log file when Appian tries to create a table on the DB2 database.

2. This error can also occur when Appian is restarted after a successful installation of an Appian instance with a DB2 database.

Caused by: liquibase.exception.DatabaseException: Error executing SQL CREATE TABLE record_type (id BIGINT GENERATED BY 
DEFAULT AS IDENTITY NOT NULL, uuid NVARCHAR(255) NOT NULL, name NVARCHAR(255) NOT NULL, plural_name 
NVARCHAR(255) NOT NULL, description NVARCHAR(4000), src_type NVARCHAR(255) NOT NULL, src_uuid NVARCHAR(255) 
NOT NULL, lv_tmpt_expr NVARCHAR(4000) NOT NULL, url_stub NVARCHAR(255) NOT NULL, created_ts BIGINT NOT NULL, 
created_by BIGINT NOT NULL, updated_ts BIGINT NOT NULL, updated_by BIGINT NOT NULL, CONSTRAINT 
PK_RECORD_TYPE PRIMARY KEY (id), CONSTRAINT record_type_uuid_uc UNIQUE (uuid), CONSTRAINT 
record_type_urlstub_uc UNIQUE (url_stub)): DB2 SQL Error: SQLCODE=-670, SQLSTATE=54010, SQLERRMC=32677;;38193, 
DRIVER=4.24.92 at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62) at
 liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:105) at 
liquibase.database.AbstractDatabase.execute(AbstractDatabase.java:1014) at 
liquibase.database.AbstractDatabase.executeStatements(AbstractDatabase.java:998) at 
liquibase.changelog.ChangeSet.execute(ChangeSet.java:317) ... 118 more

Caused by: com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-670, SQLSTATE=54010, SQLERRMC=32677;;38193, DRIVER=4.24.92

Cause

Error code -670 from IBM's documentation refers to the row length of the table exceeding the page size limit. The error mentioned above happens on table creation but this can also occur on cast specification or updating tables.

Additionally this could also occur due to the LOB column with INLINE LENGTH clause contributing to exceeding the page size limit.

Action

To fix the error noticed above, check and fix the following anomalies on the DB2 instance.

  • Reduce the row length of the table by reducing the length of one or more of the columns.
  • Assign the table to a table space that uses a larger buffer pool.
  • Delete the existing database and re-create blank database with correct page size.
  • Also make sure that the driver version is correct as specified on our  documentation.

Affected Versions

This article applies to all versions of Appian running 18.3 or later.

Last Reviewed: November 2018