AS400 DB2SQL7008:通过Spring Boot插入记录时,表名对于操作无效操作、Boot、Spring

2023-09-03 13:12:08 作者:其实、我很害怕失去。

我们在DB2中有由OS/400命令直接创建的模式/库。因此,如果我们要新建,则默认情况下不会为任何物理文件(表)启用日志记录。我们正在使用数据库迁移工具,如Liqubase,用于所有数据库更改,如在Spring Boot中创建表/视图。在尝试插入或更新时,我在TABLE_NAME中收到错误";java.sql.SQLException:[SQL7008]X对操作&Quot;无效。此错误是由于未通过Liquibase对新创建的表进行日志记录。现在,我正在尝试寻找以下可能性(如果可能)

是否可以在OS/400中创建的DB2库9下创建表(SQL),以便在插入或更新时不需要日志记录? 是否有可能通过Java/Spring Boot在表上创建日记帐? 或任何建议,而不是每次在DB2端记录表?

请提出您的意见

推荐答案

在Docker中通过nginx实现springboot mysql项目的负载均衡集群部署

使用提交控制(事务隔离)时,需要记录表的日志。

您有两个选项:

关闭承诺控制 启用表的日志记录

对于选项1,可以包括 transaction isolation=none; 在连接字符串中,请参阅this question以了解更多详细信息

对于选项2,如果使用SQLCREATE SCHEMACREATE TABLE命令创建库和文件,则将自动记录表。

还可以在通过Create Library(CRTLIB)命令创建库后使用Start Journal Library (STRJRNLIB)命令。此后,当您在库中创建表或物理文件时,将自动记录该表或物理文件。