程序调试的出现问题,不能在两台机子上同时打开某一窗口
我后台用的是SQL 2000,数据库连接了三台机子,当三台机子上同时运行程序,看有一台机子上打开了某一窗口,而其他机子上打开就死机???什么原因,高手帮帮忙啊!! 问题点数:0、回复次数:5Top
1 楼freeliu()回复于 2003-06-03 12:56:51 得分 0
先打开的窗口将表锁住了。检查commit或rollback的使用。Top
2 楼pbsql(风云)回复于 2003-06-03 13:11:32 得分 0
老问题了:
http://expert.csdn.net/Expert/topic/1810/1810086.xml?temp=.2100641Top
3 楼linleming(落日)回复于 2003-06-03 13:21:41 得分 0
进行select,insert,update,delete等操作都要commit,在对库进行任何操作时都有进行提交或回滚!Top
4 楼rogery(后来者__躬自厚而薄责于人)回复于 2003-06-03 13:52:20 得分 0
肯定是在执行某一窗口时,先得到指令的窗口把数据库某一表锁死了。
按照上面各位说的去检查一下程序即可。Top
5 楼fengzeng(风之子)回复于 2003-06-03 15:02:24 得分 0
你数据库产生死锁了,解决办法:
1)前台所有SQL语句都要加commit或rollback,或者
sqlca.autocommit = true
sql...
sqlca.autocommit = false
2)后台尽量在一个事务中执行,随时判断每条SQL的状态,一旦有一条语句失败都要回滚
3)针对查询用的数据窗口要
sqlca.autocommit = true
dw_1.retrieve(..)
sqlca.autocommit = falseTop




