作了一个CS数据库程序。客户端的操作系统是
windows xp 
后台数据库是oracle 9i 操作系统 windows 2003
问题:
在客户端执行项数据库提交数据时偶尔会出现锁表现象,在服务器上将锁kill掉还是锁,但如果重新启动服务器,客户端正常了,问题不是每次都出,代码摊开看了,觉得不是代码的问题,现在问题出现的很有规律大概10小时一次。
还有更令我想不通的问题,为什么客户端死机,可是程序在服务器上运行正常??
SOS严重关切。

解决方案 »

  1.   

    --> 但如果重新启动服务器,客户端正常了;
    1。首先说明你的某个表的确被锁定了,这是不容怀疑的。
    2。在表锁定时,你看看当前锁的是哪个表,是哪个用户在进行何种操作,尽量从逻辑上
    避免它;
    3。如果有时业务逻辑过于复杂,短期有不可能分析出来,那就在自己的程序启动时
    做个杀死自己所有尚在激活的会话的功能。这样当客户司机时,你就告诉客户重新启动
    进入程序即可。
    4。如果客户太多,不是第一个锁的人重启机器是没有用的,那就做编写一个定期
    查询锁定对象的程序,看到某个热表锁定超过一定时间比如20s,就杀掉锁定的会话。
    这样客户感觉不到,程序流畅。
      

  2.   

    问题时光KILL掉这种会话他也没用