首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

~PB9.0在更新数据表时容易产生死锁解决方法

2012-02-07 
~~急。PB9.0在更新数据表时容易产生死锁运行环境:PB9.0,数据库:SQL SERVER 2000数据库服务器配置:Xeon 2.8G

~~急。PB9.0在更新数据表时容易产生死锁
运行环境:PB9.0,数据库:SQL SERVER 2000
数据库服务器配置:Xeon 2.8G 四核,内存:4G
在PB后台代码中使用SQL语句来对表A进行数据插入,一次数据插入可能有几千条(字段比较多,不受干扰的话处理完需要20分钟左右!),同时使用该程序进行处理的有10几个人。在使用过程中很容易出现死锁现状(在一个进程对数据表进行操作时,另外的进程抢去了资源)。以前程序使用DATAWINDOW的row update属性来进行数据更新,死锁现象比较少,但处理速度异常缓慢,不知道哪位高人有什么好的方法来减少或避免这种情况。万分感激!!!
(注:SQL语句后已使用commit 和 rollback)

[解决办法]
从TABLE-A表中读取相应字段到DATAWINDOW中,用户在DW界面上进行相应处理(如筛选,更改)后做保存,程序将新的结果保存到TABLE-B表。 

建议新建一个数据窗口(基于table-b的),把要保存的数据处理到这个数据窗口中,然后用update,然后再commit或者rollback

这样会有效的减少死锁

或者你把需要保存的数据都插入到一个临时表中,然后调用后台的存储过程进行更新,这样也会减少死锁的产生
[解决办法]

探讨
从TABLE-A表中读取相应字段到DATAWINDOW中,用户在DW界面上进行相应处理(如筛选,更改)后做保存,程序将新的结果保存到TABLE-B表。

建议新建一个数据窗口(基于table-b的),把要保存的数据处理到这个数据窗口中,然后用update,然后再commit或者rollback

这样会有效的减少死锁

或者你把需要保存的数据都插入到一个临时表中,然后调用后台的存储过程进行更新,这样也会减少死锁的产生

热点排行