用RO写的服务端,在一客户端执行了行锁SELECT ... FROM TABLE FOR UPDATE NOWITE 操作之后,
在另一个客户端再执行 SELECT ... FROM TABLE FOR UPDATE NOWITE 语句,没有提示 “ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源”的消息。 所以判定失败,这样就不能避免多用户同时操作同一记录了。但是我在PL/SQL中执行,是可以判定到的。会提示 ORA-00054 的错误信息。请问这是什么原因,我想应该和服务组件有关系吧,应该如何修改?

解决方案 »

  1.   

    感觉你第一次是两个session,第2次是在同一个session里..
      

  2.   

    后来我跟中查询了下操作,确实两次执行的都是一个session,所以没有提示ORA-00054报告。
    但是我的是三层架构啊,一个服务端。客户端获取服务端数据都是短连接,有需要的时候才让服务端获取数据后发送到客户端然后断开。 如果是两成,持久连接就没问题了,我应该怎么办?