使用Liquibase

时间:2015-06-12 20:38:10

标签: jdbc liquibase db2-luw

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

通过我的DbVisualizer工具(使用与Liquibase相同的JDBC驱动程序),SQL语句可以正常工作,并且在通过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)

这是我收到的错误消息:

  

引起:com.ibm.db2.jcc.am.SqlSyntaxErrorException:DB2 SQL错误:   SQLCODE = -104,SQLSTATE = 42601,SQLERRMC = DROP TABLE AAA_SCHEMA.FOO;

     

;, DRIVER = 4.18.60

IBM错误代码-104是关于语法问题的。基于查看错误消息,我的猜测是它与行尾字符";"有关。但我已尝试使用和不使用分号进行查询。分号也被IBM自己的db2接受,因此它似乎是一个有效的选择。

非常感谢您找出导致此错误的任何帮助。

1 个答案:

答案 0 :(得分:2)

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

  

- liquibase格式化的sql

<强>卫生署!