1

我有一个奇怪的问题。更新 AS400 表时,出现以下错误

错误 [55019] [IBM][AS] SQL7008N REXX 变量“<表名>”包含不一致的数据。

相同的代码在 MSSQL 2008 上运行良好

在互联网上搜索后,我发现当我Non-journaled在 AS400 上更新表时会出现此问题

为此,我必须journaling为该表启用。这不是解决方案,因为我无权访问 AS400 服务器。

互联网上提到的解决方法是在NOT NULL查询中添加一个子句,INSERT,UPDATE, DELETE这在我的情况下是不可能的,因为我没有直接执行查询,而是使用DBContext相同的查询。

另一种解决方法是设置isolationlevel/commitmodeNOCOMMIT or 32. 我已尝试在 Web 配置中同时设置,但未能收到错误System.ArgumentException: Invalid argument和异常Entity Exception: The underlying provider failed on ConnectionString.

所以问题很简单怎么做?

4

1 回答 1

0

尝试设置 DefaultIsolationLevel:

iDB2Connection cn = new iDB2Connection();
cn.ConnectionString = "DataSource=myiSeries; DefaultIsolationLevel=Chaos;";

虽然旧,但这本红皮书有一些很好的信息。

于 2013-02-19T15:03:52.823 回答