gpt4 book ai didi

grails - 将Grails从3.3.2升级到3.3.9时出现问题:由于H2升级,启动 “Unable to create initial connections of pool”出现异常

转载 作者:行者123 更新时间:2023-12-02 15:43:19 25 4
gpt4 key购买 nike

从GRAILS 3.3.2升级到3.3.9后,启动时出现以下错误:

org.apache.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.
org.h2.jdbc.JdbcSQLException: Scale($"10") must not be bigger than precision({1});


({1}); SQL statement:
CREATE CACHED TABLE PUBLIC.GAME(
ID BIGINT DEFAULT (NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_6AFE1F30_C0FB_47AD_B2B5_FD6A519957AE) NOT NULL NULL_TO_DEFAULT SEQUENCE PUBLIC.SYSTEM_SEQUENCE_6AFE1F30_C0FB_47AD_B2B5_FD6A519957AE SELECTIVITY 100,
VERSION BIGINT NOT NULL SELECTIVITY 3,
...
FINALROI DOUBLE SELECTIVITY 76,
STATUS VARCHAR DEFAULT 'FINISHED' NOT NULL SELECTIVITY 1
) [90051-197]

仅当使用现有的H2数据库(包含大量数据)时,才会出现此问题。我测试了设置** dbCreate:create **,然后一切正常。我还对创建的架构进行了比较,它与我的实际数据库中的架构相同。

我还测试了该中断发生在GRAILS 3.3.5中。我浏览了发行版的内容,发现什么都不会导致这种行为。

有人可以指出我正确的方向吗?我的数据库中的数据是否有问题(以某种方式发生了无效的插入)或这是由其他原因引起的。

编辑

与H2升级到1.4.197版本有关。简单的解决方法是通过在build.gradle中设置以前的版本来降级
runtime "com.h2database:h2:1.4.196"             

最佳答案

问题是SQL错误,由于早期的H2版本中存在错误,因此未正确验证。由于某种原因,该架构包含一条语句,其中scale > precision:

_TIME TIMESTAMP(23, 10)

通过数据库转换修复了该问题。

关于grails - 将Grails从3.3.2升级到3.3.9时出现问题:由于H2升级,启动 “Unable to create initial connections of pool”出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54018982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com