我有一个奇怪的问题。在更新AS400表时,我收到以下错误
ERROR [55019] [IBM] [AS] SQL7008N REXX变量'<表名>'包含不一致的数据。
相同的代码在MSSQL 2008上完美运行
在互联网上搜索后,我发现当我更新AS400上的Non-journaled
表时会出现此问题
我必须为该表启用journaling
。这不是解决方案,因为我无法访问AS400服务器。
互联网上提到的解决方法是再次向NOT NULL
等查询添加INSERT,UPDATE, DELETE
子句,这在我的情况下是不可能的,因为我没有直接执行查询而是使用DBContext
进行查询相同。
另一种解决方法是将isolationlevel/commitmode
设置为NOCOMMIT or 32
。我尝试在网络配置中同时设置但未收到错误System.ArgumentException: Invalid argument
和异常Entity Exception: The underlying provider failed on ConnectionString.
所以问题很简单怎么办?
答案 0 :(得分:0)
尝试设置DefaultIsolationLevel:
iDB2Connection cn = new iDB2Connection();
cn.ConnectionString = "DataSource=myiSeries; DefaultIsolationLevel=Chaos;";
虽然陈旧,但Redbook有一些很好的信息。