首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Sybase >

Sybase SQL AnyWhere无规律丢失数据的有关问题

2012-02-02 
Sybase SQL AnyWhere无规律丢失数据的问题使用ado+delphi+sql anywhere 8开发cs应用,用commit提交事务后,

Sybase SQL AnyWhere无规律丢失数据的问题
使用ado+delphi+sql anywhere 8开发cs应用,用commit提交事务后,发现有丢失数据的情况,没有什么规律,好像大约有5%左右的数据不能提交,事务提交数据量越小次数越多越容易出现丢失事务的情况,但如果每次提交大量数据则没有此现象。
已经明确证明不是delphi或ado的问题,因为同样的代码用其他数据库没有这种现象。
怀疑对象:事务提交延迟;事务提交在缓存中,没提交用户就关了客户程序;数据库选项默认值设置有问题
请高手指点,asa有无强制提交的办法?

[解决办法]
commit之后,有异常发生吗?应该可以捕获得到啊
[解决办法]
只要你commit,至于asa放在哪里,不用关心这个。

看一下,执行UpdateBatch(),CommitTrans()  之后数据库返回的状态信息。
[解决办法]
我的建议是:
1. 碰到异常时,把详细的异常信息打出来,看看是哪些update失败了
2. 调整事务隔离级,弄成Repeatable read吧。这样应该会减少事务之间的冲突。
[解决办法]

探讨

不知大家深究asa没有,我怀疑这个问题与asa的事务不及时提交或缓存有关,以前网上有这种错误报道:用事务提交数据后,如果倒电或强制关机,发现有数据丢失情况,也就是数据只待在缓存中,根本没有提交

[解决办法]
期待最终结果。嗯。

热点排行