cannot create transaction because capacity was exceeded,万分头痛 (20分)

  • 主题发起人 主题发起人 tianjiao
  • 开始时间 开始时间
T

tianjiao

Unregistered / Unconfirmed
GUEST, unregistred user!
我目前做的一个三层数据程序中,后台用SQL,中间层使用dbexpress的sqltable,在先设计好数据库表以后,运行程序一切正常,但使用一段时间后,发现某个表的字段长度不够,所以改了一下这个字段的长度,字段的其他属性未改,这下出问题了,客户端想要更新数据时出现灾难性错误,有时显示cannot create transaction because capacity was exceeded!但是如果这时把这个表清空,重新从头开始输入数据,一切又正常,这是什么原因,谁能提示一下怎么解决,不能每次修改一下字段的长度,数据都清空后再输入,苦!
 
将 客户端 的CLINETDATASET 里面的数据集合字段 删除掉,重新换取一次。
 
早试过了,不行,关键是把数据库表的内容清空后,程序重新从0开始又一切正常,提示出错信息为:cannot create transaction because capacity was exceeded
 
是不是中间定义的数据库的问题?可能有最大取值长度的问题!我在BDE中遇到过!
 
你们的想法我以前都试过,行不通,也不是这个原因,花了2天来研究这个问题,终于解决了,首先对dbexpress进行了升级,否则在SQL数据库中数据后面都跟一个怪怪的空符号,更新DLL后没有这个问题了,不能更新数据的问题是在服务端程序中formcreate使用了sqltable.active:=true这样的事先激活表的语句,我通过查看SQL服务器,发现只有一个客户连接时,竟然出现3个进程连接,所以肯定问题在服务端,把这几个语句删除后一切正常了,好象是远程数据模块在接受到数据请求时自动激活这个表
 
优秀经验,值得借荐
 
后退
顶部