Liquibase 查询错误 运行 SQL

Error running SQL queries with Liquibase

我正在使用 Liquibase 在 DB2 中创建 tables。我有一个简单的更改日志示例,它尝试删除然后创建 table。

SQL 语句可以通过我的 DbVisualizer 工具(使用与 Liquibase 相同的 JDBC 驱动程序)正常工作,并且在通过 db2 命令行工具提交时也可以正常工作。

这是 Liquibase 输入文件:

--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 )

这是我收到的错误消息:

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

IBM 错误代码 -104 与语法问题有关。根据查看错误消息,我的猜测是它与行尾字符“;”有关。但是我已经尝试过使用和不使用分号的查询。 IBM 自己的 db2 也接受分号,所以它似乎是一个有效的选择。

非常感谢任何有助于找出此错误原因的帮助。

问题是我忘了用这个必需的行启动我的原生 sql 文件:

--liquibase formatted sql

哎呀!