请问:TDATABASE 的属性 DATABASENAME 与 SESSION 和 事务 有什么关系吗???
有两个TDATABASE 假设他们的DATABASENAME 为 D1 D2,他们指向一个相同的ORACLE数据库,那么如果D1给某张表加锁后
(加锁方式:LOCK TABLE tablename IN EXCLUSIVE MODE),那么,此时(加锁后)D2 还可以访问加锁的表么?
为什么?
求指点~ 谢谢大家
有两个TDATABASE 假设他们的DATABASENAME 为 D1 D2,他们指向一个相同的ORACLE数据库,那么如果D1给某张表加锁后
(加锁方式:LOCK TABLE tablename IN EXCLUSIVE MODE),那么,此时(加锁后)D2 还可以访问加锁的表么?
为什么?
求指点~ 谢谢大家
解决方案 »
- delphi xe DataSpan 返回 TDataSet 中文乱码
- 有谁使用Imagemagick?谁有图片删格程序
- 因公司业务需学Delphi,大家以后多多照顾小弟,散分~`
- 数据保存时产生‘Multiple-step operation generated errors’
- 如何修改另一线程窗口的类?
- 怎么控制MDIChild子窗口?
- 在DELPHI中关于网络方面问题?
- 为何字段长度受限!
- 我一直想知道在excel中如何删除一行,是太难还是太简单?怎么没人肯指点我呢?
- 小女子吐血求救:快救救小妹!有關Dll問題!
- panel上动态增加多个image控件。并且可以随意拖动图片位置??
- Delphi是否可以动态创建函数?
作为替代品的adoconnection控件自己默认有事物,例如adoquery打开创建事物 执行完毕立即commit事物,另外adoconnection可以创建事物数据库的锁有很多种
共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。
更新 (U) 用于可更新的资源中。防止当多个会话在读取、锁定以及随后可能进行的资源更新时发生常见形式的死锁排它 (X) 用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。
--你代码中的锁就是这个类型
意向锁 用于建立锁的层次结构。意向锁的类型为:意向共享 (IS)、意向排它 (IX) 以及与意向排它共享 (SIX)。
架构锁 在执行依赖于表架构的操作时使用。架构锁的类型为:架构修改 (Sch-M) 和架构稳定性 (Sch-S)。
头像真可爱 先赞一个
但是 我们这边是在改一个98年的软件 换新控件的话怕是要吐血了
排它锁 和 共享锁 的话我理解,学校里讲的还是比较透彻的(今年刚毕业,JAVA专业分来做DELPHI,无奈。。)
我不明白的是两个TDATABASE指向同一个ORACLE数据库,那为什么还要改来改去的??
QUERY以TDATABASE1给表加锁后,以TDATABASE2就不能READ了,只能等待自己释放那个排它锁,程序就死在那里了。
很郁闷的
所以想问问TDATABASE和事务有什么关系,不同的TDATABASE产生的事务不同?
但是是同一个控件QUERY发出的请求阿(自己加X锁,自己又申请READ)
求解 T_T