SQL7008N
获取 SQL7008N时, SQLSTATE=55019 可能会在 Db2® for iSeries 表上执行插入/更新时发生。
问题
对 Db2 for iSeries 表执行插入或更新操作时,可能会发生以下错误:
SQL7008N REXX variable "" contains inconsistent data. SQLSTATE=55019原因
Db2 for iSeries 表未启用日志记录。
解决方案
要解决此问题,请执行下列其中一项操作:
- 对 Db2 for iSeries 表启用日志记录。 您可以联系 Db2 for iSeries DBA。
- 如果应用程序发生此错误,请对特定于应用程序的隔离级别属性指定以下值:NO COMMIT。
- 对于 CLI/ODBC 应用程序:
- 在 db2cli.cfg 中,将 TXNIsolation CLI 关键字更新为值 32:
然后重新启动该应用程序。'db2 update cli cfg for section <dsn> using TXNIsolation 32'
- 在 db2cli.cfg 中,将 TXNIsolation CLI 关键字更新为值 32:
- 对于 .NET 应用程序:
- 在连接字符串中,将
IsolationLevel更新为 'chaos'。 或者,如果您正在使用 db2dsdriver.cfg,那么可以在 db2dsdriver.cfg 中指定它。
- 在连接字符串中,将
- 对于 JDBC 应用程序:
- Db2 JDBC 驱动程序不支持隔离级别 NONE 或 NO COMMIT。 您可能需要使用先前的启用日志记录或者更新 TXNIsolation CLI 关键字的解决方案。
- 改变 SQL 语句,使其末尾包括“WITH NONE”或者“WITH NC”。 例如:
insert into <tableName> values ('a', 'b') with NC insert into <tableName> values ('a', 'b') with NONE