社区
Delphi
帖子详情
请教高手有关联网售票的问题.
yourkith
2000-06-01 09:30:00
C/S两层模式.几十个售票点拨号连接到ORACLE8数据库出售演出票,允许购票者指定座位
的类别,区段.这样很容易出现'抢票'的情况,即几个售票点同时选到某张未出售的票而去
修改它的状态为已售.其中一个在修改时,其他点必须等待其完成.如果这个点UPDATE
后COMMIT之前异常死机,其他点无法退出等待.如果这个点修改成功了.其他点会接着修改
而导致一张票被出售多次.有什么好的解决办法?
...全文
120
5
打赏
收藏
请教高手有关联网售票的问题.
C/S两层模式.几十个售票点拨号连接到ORACLE8数据库出售演出票,允许购票者指定座位 的类别,区段.这样很容易出现'抢票'的情况,即几个售票点同时选到某张未出售的票而去 修改它的状态为已售.其中一个在修改时,其他点必须等待其完成.如果这个点UPDATE 后COMMIT之前异常死机,其他点无法退出等待.如果这个点修改成功了.其他点会接着修改 而导致一张票被出售多次.有什么好的解决办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yourkith
2000-06-01
打赏
举报
回复
eaglet,数据库代理程序是什么东西?是三层结构中的application server吗?
thinking_man
2000-06-01
打赏
举报
回复
你在ORACLE8中来实现对事务的处理,并且有个返回值,客户端根据返回值来判断是否成功提交。这样试试不知行不行?
eaglet
2000-06-01
打赏
举报
回复
解决这类问题的最理想方法是在服务器侧做一个数据库代理程序
客户端所有修改数据库的操作都通过数据库代理程序来完成,这样
就可以在代理上控制以上问题了.
如果你想在目前结构上设计,可以
在数据库中加一个记录每张票访问情况的表
在修改票的状态前先将票的访问情况标志写成
正在访问.
具体方法
写一个事物,在事物的开始先查上述标志,如果
标志为未访问,则修改为正访问,如果为正访问
则退出.
Axiong
2000-06-01
打赏
举报
回复
用lock就行了
zyc
2000-06-01
打赏
举报
回复
Oracle中有冲突处理办法:
在一个点处理某张票时(从读出到修改),锁定相应的记录,只有在此售票不再要那一张票的信息时,才可以将相应的记录解锁。
如果你确得还是难理解,可以找一本有关操作系统或是有关网络数据库的书籍来看看。那里面肯定说得很明白。当然这个工作得在Server(Application server)端完成。
windows虚拟机设置linux
联网
教程
1、简单了解虚拟机基本知识,比如什么是虚拟机,有哪些虚拟机2、帮助初次使用虚拟机得朋友们掌握centos和ubuntu在虚拟机种
联网
基本技巧3、学会NAT模式和桥接模式2种
联网
方法的流程,为
联网
提供流程引导,方便快速发现
问题
和解决
问题
(经典中的经典!)IT学生解惑真经(转),真会有人看完这15万字吗
群号:853665602,有什么
问题
都可以在里面询问交流,还有博主整理的很多资料,需要大家的加入,才能壮大这个组织!群里面有很多的我整理的内部资源:Java题库,大厂面试题,学习大纲,自学课程大纲等,希望欢迎到很...
IT学生解惑真经
于是专门推出了学生大本营(http://student.csdn.net),邀请了上百位在企业一线的技术
高手
和专家,IT培训机构的精英老师加入进来,针对IT学生所面临的通用
问题
进行解答。这些老师是站在过来人的角度,耐心的分析...
IT学生解惑真经(转) (真的好经典!)
于是专门推出了学生大本营(http://student.csdn.net),邀请了上百位在企业一线的技术
高手
和专家,IT培训机构的精英老师加入进来,针对IT学生所面临的通用
问题
进行解答。这些老师是站在过来人的角度,耐心的分析...
挨踢人生路 记我的10年18家工作经历
换两、三家工作,可能是公司的
问题
,但是十年换十八家工作,就一定是自己的
问题
,任何的理由都是借口。 工作了十年,我想把自己的经历写下来也好,一来是详细记录一下我这十年的工作生活;二来也许会有更多...
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章