Error running SQL queries with Liquibase

995 views Asked by At

I'm using Liquibase to create tables in DB2. I have a simple example changelog that tries to drop and then create a table.

The SQL statements work fine via my DbVisualizer tool (which uses the same JDBC driver as Liquibase) and also works fine when submitted via the db2 command line tool.

Here's the Liquibase input file:

--changeset dank:1 runAlways=true failOnError:false

DROP TABLE AAA_SCHEMA.FOO

--changeset dank:2 runAlways=true

CREATE TABLE AAA_SCHEMA.FOO ( MYID INTEGER NOT NULL )

Here's the error message I get:

Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=DROP TABLE AAA_SCHEMA.FOO;

;, DRIVER=4.18.60

The IBM error code -104 is about syntax problems. Based on looking at the error message my guess is that it has something to do with the end of line character ";". But I've tried the query with and without the semi-colon. The semi-colon is accepted by IBM's own db2 too, so it seems like a valid choice.

Any help in figuring out the cause of this error is much appreciated.

1

There are 1 answers

0
devdanke On BEST ANSWER

The problem was me forgetting to start my native sql file with this required line:

--liquibase formatted sql

Doh!