Liquibase - DB2 AS / 400 - generateChangeLog抛出异常“未找到SYSCAT类型* FILE”

时间:2018-04-20 15:25:52

标签: db2 ibm-midrange liquibase

我试图通过运行命令generateChangeLog来生成Liquibase更改日志,但是我收到以下错误:

Starting Liquibase at Fri, 20 Apr 2018 14:26:14 GMT (version 3.6.1 
built at 2018-04-11 08:41:04)
Unexpected error running Liquibase: 
liquibase.exception.DatabaseException: 
com.ibm.as400.access.AS400JDBCSQLSyntaxErrorException: [SQL0204] 
REFERENCES in SYSCAT type *FILE not found.
liquibase.exception.LiquibaseException: 
liquibase.command.CommandExecutionException: 
liquibase.exception.DatabaseException: 
liquibase.exception.DatabaseException: 
com.ibm.as400.access.AS400JDBCSQLSyntaxErrorException: [SQL0204] 
REFERENCES in SYSCAT type *FILE not found.
at  
liquibase.integration.commandline.CommandLineUtils.doGenerateChangeLog
(CommandLineUtils.java:279)
at liquibase.integration.commandline.Main.doMigration(Main.java:1043)
at liquibase.integration.commandline.Main.run(Main.java:191)
at liquibase.integration.commandline.Main.main(Main.java:129)

我的环境是:

DB2 UDB for AS/400 version 07.01.0000 V7R1m0
AS/400 Toolbox for Java JDBC Driver 10.2
liquibase 3.6.1
Java 8 
Maven 3.3.3

1 个答案:

答案 0 :(得分:3)

对于i,Db2上没有syscat.references。实际上,Db2 for i根本没有名为SYSCAT的模式。

qsys2.syscstdep似乎是最接近的匹配...

INFORMATION_SCHEMA是ANSI& DB目录模式的ISO标准名称。在Db2 for i上,它是QSYS2的别名。