delphi+sql server 数据库死锁问题。高分求解!!!!!
16lz
2021-01-22
我在CSDN搜索了一下,关于这个问题已经有N多人提过了。我收集了一些解决的资料:
1.EXECsp_configure'locks','0'
2.SETTRANSACTIONISOLATIONLEVELREADUNCOMMITTED//脏读
3.begintran
selectnew_idfromkeytabholdlock
updatekeytabsetnew_id=new_id+1
committran
4SETLock_TimeOut2000
在这些语句都能通过,特别是以脏读的方式,我在客户的数据库中执行后,他们的数据库还是会出现在死锁现象,并将当前进程作为牺牲品。它是在程序中执行的sql语句(insert,update,select,insert占多数),CSDN哥哥们说应该写在存储过程中,避免写在程序中,照我现在的情况来看,如果修改程序,将整个企业生产部的所有都要更换,有没有另外的办法?
设置脏读是不是只需要执行一次即可解决?
--------------------------------------------------------------------------------------------------------
我此段程序操作数据表不多,只有两个,但insert记录很频繁,
有一个是公共的表m_publicpart,它是master表
另个一外是部门生产明细表m_partX."X"可为1,2,3,4......
意思是说生产一部为m_part1,生产二部为m_part2.......
我想不应该是数据表顺序的问题吧,该如何跟踪啊?请哥哥们指教啊。
-------------------------------------------------------------------------------------------------------
增加TempDB的数据文件大小和日志文件大小能行吗?
----------------------------------------------------------------------------------------------------------
后来把这段程序中所有的insert,update,select都加了with(updlock)
如:select*fromtable1with(updlock)where....
也没有解决问题。。。。
---------------------------------------------------------------------------------------------------------
如果是杀进程,该怎么写啊,写为一个触发器好呢,还是写成过程?
恳求哥哥们解答。。。
--------------------------------------------------------------------
每个控件在做事件的时候都先
ifqrlcdnrb.activethenqrlcdnrb.close;
是先释放了资源后再做的事啊。
10 个解决方案
#1
友情UP诶..
更多相关文章
- 面试程序员SQL题目?哪位大哥大姐帮我看看 这怎么做? 谢谢
- Code First for Mysql 错误:未为提供程序“MySql.Data.MySqlClien
- Oracle数据库导入导出程序
- 有人用过查询分析器里的TSQL调试程序吗?
- 一条牛B的SQL抵了我300多行的程序代码
- DJI SDK开发——第一个程序
- 编译和测试android的驱动程序学习笔记
- 微信小程序开发环境搭建
- AndroidStudio编写JNI程序