AS400 DB2SQL7008:通过Spring Boot插入记录时,表名对于操作无效 [英] AS400 DB2 SQL7008 : Table name not valid for operations when inserting a record via Spring Boot

查看:0
本文介绍了AS400 DB2SQL7008:通过Spring Boot插入记录时,表名对于操作无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

请提出您的意见

推荐答案

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

您有两个选项:

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

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

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

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

这篇关于AS400 DB2SQL7008:通过Spring Boot插入记录时,表名对于操作无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆