~~急。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
这样会有效的减少死锁
或者你把需要保存的数据都插入到一个临时表中,然后调用后台的存储过程进行更新,这样也会减少死锁的产生
[解决办法]