插入在 SQL 客户端中有效,但在我的代码中无效 (SQL7008)

Insert works in SQL Client but not in my code (SQL7008)

我正在尝试在 DB2-AS400 数据库中执行 insert/update 语句。 我使用 jt400 驱动程序,版本 9.5 for java 8 以便能够与我的数据库连接和对话。

在我的应用程序中,我可以很好地执行选择,但是当我尝试插入或更新时,出现以下 SQL 错误:

[SQL7008] Table not valid for operation.

我做了一些研究,这似乎是数据库方面的日志问题,而不是我的代码中的问题。

我想了解的是,为什么我能够使用我的 SQL 客户端 (DBeaver) 在同一个 table 上与完全相同的用户执行 insert/update?

您可以尝试通过将 transaction isolation=none 添加到您的连接字符串来禁用事务隔离:

jdbc:as400://systemname;naming=sql;errors=full;transaction isolation=none;date format=iso

参考:SQL7008 Error - Workaround?