PB65连到装在WIN2000的SQL7数据提交偶尔出错,郁闷,哥们有没有好办法?

YOUYU6 2003-05-11 09:03:34
程式用PB65写的,服务器装的是WIN2000,数据库用SQL7,客户端通过DLINK的HUB和光纤连在一个3COM的交换机上,程式中连续有一条UPDATE语句和两个数据窗口的UPDATE()数据提交,偶尔会出现提交出错,莫名其妙,烦死了
...全文
38 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
YOUYU6 2003-05-19
  • 打赏
  • 举报
回复
大力解释得很好,我虽然还没去试,但应该就象这么回事吧,哈哈,我想在这里可以解决问题越来越有信心了,顺便问一下大力,SET TRANSACTION ISOLATION LEVEL REPEATABLE READ这条语句可以解决什么问题
YOUYU6 2003-05-17
  • 打赏
  • 举报
回复
能给我解释一下SQL死锁是怎么回事吗?它出现的提示:
select ERROR:your transction (process id#9) was deadlocked with another process and chosen as the deadlock viction return your transcation!
fallstone 2003-05-17
  • 打赏
  • 举报
回复
死锁是你表的操作和表结构的关系

你的情况可能是网络不通,有时候网络是不稳定的,一下连的上,一下连不上。前面有人讨论过这个问题,但是我还没看到好的方法使之稳定
YOUYU6 2003-05-17
  • 打赏
  • 举报
回复
好象是deadlocked问题,怎么处理?给我一点信心吧
pengdali 2003-05-17
  • 打赏
  • 举报
回复
执行一下:
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
pengdali 2003-05-17
  • 打赏
  • 举报
回复
设table1(A,B,C)
A B C
a1 b1 c1
a2 b2 c2
a3 b3 c3

1)排它锁
新建两个连接
在第一个连接中执行以下语句
begin tran
update table1
set A='aa'
where B='b2'
waitfor delay '00:00:30' --等待30秒
commit tran
在第二个连接中执行以下语句
begin tran
select * from table1
where B='b2'
commit tran

若同时执行上述两个语句,则select查询必须等待update执行完毕才能执行即要等待30秒

2)共享锁
在第一个连接中执行以下语句
begin tran
select * from table1 holdlock -holdlock人为加锁
where B='b2'
waitfor delay '00:00:30' --等待30秒
commit tran

在第二个连接中执行以下语句
begin tran
select A,C from table1
where B='b2'
update table1
set A='aa'
where B='b2'
commit tran

若同时执行上述两个语句,则第二个连接中的select查询可以执行
而update必须等待第一个连接中的共享锁结束后才能执行 即要等待30秒

3)死锁
增设table2(D,E)
D E
d1 e1
d2 e2
在第一个连接中执行以下语句
begin tran
update table1
set A='aa'
where B='b2'
waitfor delay '00:00:30'
update table2
set D='d5'
where E='e1'
commit tran

在第二个连接中执行以下语句
begin tran
update table2
set D='d5'
where E='e1'
waitfor delay '00:00:10'
update table1
set A='aa'
where B='b2'
commit tran

同时执行,系统会检测出死锁,并中止进程
YOUYU6 2003-05-17
  • 打赏
  • 举报
回复
up
YOUYU6 2003-05-11
  • 打赏
  • 举报
回复
不是,执行的时间倒还是挺快的,而且这一语句在一个循环里运行好象都很正常的,也是偶尔出现上述情况,SQL7装在服务器上有什么配置参数可以让它运行更稳定吗,我想这不是代码的问题,主要是网络连接情况跟服务器数据库配置有关
CrazyFor 2003-05-11
  • 打赏
  • 举报
回复
会不会是超时?

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧