DB2返回SQLCODE -818错误

在搞基于DB2的嵌入式C语言项目时,出现了一件非常奇怪的事情,拿出来与大家分享。

当时为了保持测试数据的完整性及开发人员的数据的一致性,更是为了减少DBServer的压力,故而为每两人做一个DB实例噩梦由此开始。

每当担当者A编译好程序,开始运行的之后,使用同一DB实例的担当者B也开始编译运行,此时担当者A就会报出“SQL0818N A timestamp conflict occurred.”之类的错误。于是,A开始重新预编译,运行,ok,开始测试,而此时的B就会报出刚才A报出的错误。

当时,由于刚刚接触DB2,对其嵌入式开发还不太熟悉其原理,我自己还以为是DB2处了问题或者客户端出了问题,于是,卸载Quest Central,重新安装DB2。一直没有解决问题。

后来,通过查找资料,总结,终于找出其缘由。下图是创建包的过程。


由于只使用了段条目来标识应用程序中的上下文,修改过的源文件和包被紧紧地链接在一起,并且必须保证它们总是指向相同的上下文。这是通过在修改过的源文件中嵌入一个一致性标志(token),也叫“时间戳(timestamp)”,并且在 DB2 UDB 内将相同的值存储在包信息中来实现的。来自应用程序的每一条请求都带有这种一致性标志,传入的值要与编目表中的值相比较。如果这两个值不相同,并且装入模块的时间戳与一致性标志不相同,那么将发生一个“timestamp”错误(SQLCODE -818)。

原因就是如上所述,希望对你有用。

时间: 2024-08-30 06:30:59

DB2返回SQLCODE -818错误的相关文章

db2导入出现 -355错误,怎么解决

问题描述 db2导入出现 -355错误,怎么解决 IMPORT: table "YYGL "."DEF$_AQCALL"**ERROR -3319. Check message file tab85.msg! ** SQLCODE: -3319 - SQLSTATE: *** SQL3319N 创建表时发生 SQL 错误 "-355". IMPORT: table "YYGL "."DEF$_AQERROR"

java web-海康视频javaweb开发调用NetVideoActiveX23.cab预览返回41资源分配错误

问题描述 海康视频javaweb开发调用NetVideoActiveX23.cab预览返回41资源分配错误 如题!海康视频javaweb开发调用NetVideoActiveX23.cab预览返回41资源分配错误,跪求各路大神帮忙.....急!!! 解决方案 http://bbs.csdn.net/topics/390879798

ios-IOS view跳转返回时出现错误

问题描述 IOS view跳转返回时出现错误 AppDelegate: self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];Override point for customization after application launch. self.viewController = [[ViewController alloc] initWithNibName:@""ViewCon

usb-C # 打开USB接口编程 返回值总是错误

问题描述 C # 打开USB接口编程 返回值总是错误 下面是我在网上找到的搜索本机上的USB设备后再根据PNPDeceiveId打开USB设备,可是不知道为什么在自己的电脑上找不到相应设备,句柄的返回值总是-1,麻烦大家帮忙看一下哪里错了, public static IntPtr openDeceive(String PNPDeviceID) { //if (String.IsNullOrEmpty(PNPDeviceID)) return null; // 打开设备 IntPtr hHCDe

js中的window.open返回object的错误的解决方法_javascript技巧

解决window.open后返回object的错误 复制代码 代码如下: <a href="javascript:void(window.open('','','width=200,height=200'))">window.open()</a> 只在js的外层加上一个void不带返回参数的声明. 顺便在这里将window.open函数的参数使用也列出来: window.open函数参数列表 window = object.open([URL ][, name

javacc 如何返回所有的错误信息

问题描述 如题,一般javacc只会返回第一个错误信息然后程序就不跑了 解决方案 解决方案二:该回复于2011-01-27 14:56:57被版主删除解决方案三:没人啊自己顶一下解决方案四:不知道,帮你顶.不过把所有的错误都列出好像不大可能,也不太合理,编译器在一个错误的集成上继续进行肯定还是错误,碰到第1个错误就退出应该是合理的.猜测javac应该不具备这个功能.

交行支付成功后返回的界面错误问题

问题描述 <%@pagelanguage="java"contentType="text/html;charset=GBK"%><%@pageimport="com.bocom.netpay.b2cAPI.*"%><%@pageimport="com.cn.ohd.face.ordermanager.OrderFace"%><%@pageimport="com.cn.ohd.

新浪微博登录整合,在获取token阶段为什么返回400服务器错误?

问题描述 http://www.yunji360.cn/loginapi.aspx?c=Sina&code=355ce8b8d9eb4cbfbd8308b6966387b2,这里是登录微博后得到的回调地址和code,现在用着code获取token时,要用post方式发到服务器去获取token代码如下:最后返回的却是:请教大神,这是为什么啊? 解决方案 解决方案二:这个是远程服务器没有处理你的post请求,你可以试下其他网址,看正常不

HttpResponseMessage返回Json值错误

问题描述 同样的代码在两个项目中的输出结果不同:HttpResponseMessageresponseMessage=Request.CreateResponse(HttpStatusCode.OK,result);详细代码如下:publicclassTestController:ApiController{[HttpGet]publicHttpResponseMessageTest(){stringresultCode="";stringresultMessage="&qu