AS400 DB2 SQL7008 : Table name not valid for operations when inserting a record via Spring Boot(AS400 DB2SQL7008:通过Spring Boot插入记录时,表名对于操作无效)
问题描述
我们在DB2中有由OS/400命令直接创建的模式/库。因此,如果我们要新建,则默认情况下不会为任何物理文件(表)启用日志记录。我们正在使用数据库迁移工具,如Liqubase,用于所有数据库更改,如在Spring Boot中创建表/视图。在尝试插入或更新时,我在TABLE_NAME中收到错误";java.sql.SQLException:[SQL7008]X对操作&Quot;无效。此错误是由于未通过Liquibase对新创建的表进行日志记录。现在,我正在尝试寻找以下可能性(如果可能)
- 是否可以在OS/400中创建的DB2库9下创建表(SQL),以便在插入或更新时不需要日志记录?
- 是否有可能通过Java/Spring Boot在表上创建日记帐?
- 或任何建议,而不是每次在DB2端记录表?
请提出您的意见
推荐答案
使用提交控制(事务隔离)时,需要记录表的日志。
您有两个选项:
- 关闭承诺控制
- 启用表的日志记录
对于选项1,可以包括
transaction isolation=none;
在连接字符串中,请参阅this question以了解更多详细信息
对于选项2,如果使用SQLCREATE SCHEMA
和CREATE TABLE
命令创建库和文件,则将自动记录表。
这篇关于AS400 DB2SQL7008:通过Spring Boot插入记录时,表名对于操作无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!