为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM Database Server 64 V8
DB Version: 0x7000d
【操作系统】:Lunix
【CPU】:
【问题描述】*:
数据库重新恢复之后,程序启动链接数据库就报以下错误。之前回复的数据库是没问题的。
2026-03-11 16:53:16.277 INFO 67349 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.DmDialect
2026-03-11 16:53:17.135 WARN 67349 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: -6102, SQLState: 22003
2026-03-11 16:53:17.135 ERROR 67349 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : 数字溢出
Caused by: dm.jdbc.driver.DMException: 数字溢出
at dm.jdbc.driver.DBError.throwException(DBError.java:678) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
at dm.jdbc.a.a.k(DB2J.java:745) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
at dm.jdbc.driver.DmdbResultSet.do_getLong(DmdbResultSet.java:710) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
at dm.jdbc.driver.DmdbResultSet.do_getLong(DmdbResultSet.java:1026) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
at dm.jdbc.driver.DmdbResultSet.getLong(DmdbResultSet.java:2324) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]
at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong(HikariProxyResultSet.java) ~[HikariCP-4.0.3.jar:na]
at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetMaxValue(SequenceInformationExtractorLegacyImpl.java:120) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.lambda$extractMetadata$0(SequenceInformationExtractorLegacyImpl.java:56) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:50) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.<init>(DatabaseInformationImpl.java:60) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:183) ~[hibernate-core-5.6.15.Final.jar:5.6.15.Final]
... 69 common frames omitted

这种现象一般有两个原因,
1、sql里面有隐形转换,导致数据转换溢出,你可以在jdbc里面配置log看看能不能拿到具体的sql,然后到管理工具去调试确认
2、驱动问题导致,看你打印的驱动版本太旧了,一般驱动要保持和数据库版本一致,建议你去数据库服务器dmdbms/drivers/jdbc底下拷贝驱动,更新到工程里面,hibernate也要替换drivers\jdbc\dialect里面对于hibernate版本的驱动