求教,多用户并发错误问题

smartcatiboy 2008-10-10 10:26:48
现有单机、若干个程序采用"provider=microfot.jet.oledb.4.0"方式打开同一个数据库xx.mdb

在同步运行时,反复发生80040e21的错误,提示"你的用户试图和其他用户更改同一数据,导致jet错误..."

读取数据库的程序同一时间有以下2种操作

单一A程序:rst使用adOpenForwardOnly,adLockReadOnly,仅读取,立刻关闭

多个并发B程序:使用adOpenKeyset,adLockOptimistic方式,打开读取后,操作2-5秒,期间rst不关闭,然后写入。
(需要使用书签,所以无法使用adOpenDynamic)

请教如何解决冲突问题???


...全文
111 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
smartcatiboy 2008-10-12
  • 打赏
  • 举报
回复
现在已经绕过去了。

基础不扎实,目前问也问不大清,暂时略过。
vbman2003 2008-10-11
  • 打赏
  • 举报
回复
你这样的情况可能无法避免,建议尽量不要用adOpenKeyset,adLockOptimistic方式打开数据修改,数据修改直接用update语句......
changechange 2008-10-11
  • 打赏
  • 举报
回复
还没遇到过,写个错误陷阱,出错了就等待1秒以后再重新打开保存。

没有你的程序,也不知道你的问题具体如何解决,无法测试

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧