繁体   English   中英

设置H2数据库时出错

[英]Error When Setting up H2 Database

我在启动应用程序时遇到此错误,该应用程序在启动时从表中读取一些数据:

org.h2.jdbc.JdbcSQLException: Unknown data type: "ENUM"; SQL statement:
CREATE CACHED TABLE PUBLIC.POWERPLANT(
    POWERPLANTID INT NOT NULL,
    ORGNAME VARCHAR(25) NOT NULL,
    ISACTIVE BOOL NOT NULL,
    MINPOWER INT NOT NULL,
    MAXPOWER INT NOT NULL,
    RAMPRATE INT,
    RAMPRATESECS INT,
    POWERPLANTTYPE ENUM('OnOffType','RampUpType'),
    CREATEDAT TIMESTAMP NOT NULL,
    UPDATEDAT TIMESTAMP NOT NULL
) [50004-186]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
    at org.h2.message.DbException.get(DbException.java:179)
    at org.h2.message.DbException.get(DbException.java:155)
    at org.h2.command.Parser.parseColumnWithType(Parser.java:3990)
    at org.h2.command.Parser.parseColumnForTable(Parser.java:3853)
    at org.h2.command.Parser.parseCreateTable(Parser.java:5761)
    at org.h2.command.Parser.parseCreate(Parser.java:4149)
    at org.h2.command.Parser.parsePrepared(Parser.java:350)
    at org.h2.command.Parser.parse(Parser.java:305)
    at org.h2.command.Parser.parse(Parser.java:277)

这是我的连接字符串:

db.url = "jdbc:h2:~/path/to/db/file;MODE=MySQL;INIT=CREATE DOMAIN IF NOT EXISTS enum as VARCHAR(255);IFEXISTS=TRUE"

关于如何解决这个问题的任何想法?

我通过将h2 Maven 库版本更新为1.4.200而不是1.4.187解决了同样的问题

这是我解决它的方法。 Enum 类型应该这样写!

powerPlantType   VARCHAR(25) check (powerPlantType in ('OnOffType', 'RampUpType')),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM