【发布时间】:2013-02-19 23:03:52
【问题描述】:
我有一个奇怪的问题。更新 AS400 表时,出现以下错误
错误 [55019] [IBM][AS] SQL7008N REXX 变量“”包含不一致的数据。
相同的代码在 MSSQL 2008 上运行良好
在互联网上搜索后,我发现当我在 AS400 上更新 Non-journaled 表时会出现此问题
为此我必须为该表启用journaling。这不是解决方案,因为我无权访问 AS400 服务器。
互联网上提到的解决方法是将NOT NULL 子句添加到INSERT,UPDATE, DELETE 之类的查询中,这在我的情况下是不可能的,因为我没有直接执行查询,而是使用DBContext。
另一种解决方法是将isolationlevel/commitmode 设置为NOCOMMIT or 32。我尝试在 web 配置中同时设置,但未能收到错误 System.ArgumentException: Invalid argument 和异常 Entity Exception: The underlying provider failed on ConnectionString.
所以问题很简单怎么做??
【问题讨论】:
-
您的框架是否正在尝试提交更新?
-
最好的办法是调查是否有办法关闭交易。
-
有趣的是在错误消息注释中看到
REXX。什么平台运行查询? REXX 正在运行什么?使用什么驱动程序?几种不同的方法可能适合不同的设置。
标签: entity-framework-4 db2 ibm-midrange db2-400