3层结构 中出现的 奇怪问题 !

sz100wwb 2008-01-04 05:12:58
Delphi7+Win2003+SQL2000开发的3层结构,
server端全部使用dbexpress的SQLStoredproc调用存储过程,ISocketDataModule中设置了10个带参数方法(都是调用存储过程的),
client端用appserver.方法(server端中的10个方法)调用。
在Delphi7+Win2003+SQL2000开发环境中运行正常,
但我在Delphi7+Win2000+SQL2000开发环境下运行时,

如果先执行 appserver.方法1 调用了需要update数据库的存储过程后,
那么再执行 appserver.方法2 也调用了需要update数据库的存储过程,则出错!(SQL Server Error: SQL State: HY000, SQL Error Code: 0.)

反过来:
如果先执行 appserver.方法2 调用了需要update数据库的存储过程后,
那么再执行 appserver.方法1 也调用了需要update数据库的存储过程,则出错!(SQL Server Error: SQL State: HY000, SQL Error Code: 0.)

如果执行的appserver.方法3 调用了select或delete数据库的方法,则不会出错!
也就是说只要不update数据库,appserver.方法 就能执行,
而要uddate数据库的 appserver.方法 只能执行1个(可以执行n次),另一个不能执行!
但在Delphi7+Win2003+SQL2000下不会出以上错误!(我在WinXP和Win2000下测试都出现上面的错误!)
请高手指点,先谢谢!
...全文
130 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhnick 2008-01-08
dbexpress是有bug,没怎么用过,还是用ado吧,比较稳定
回复
sz100wwb 2008-01-08
可我需要dbexpress的性能,速度快.

既然这个问题没没人提供好点的答案. 谁能告诉我怎么解决SocketConnection连接server时界面假死的问题(即要等待SocketConnection的连接返回后才响应界面操作).
IdAntiFreeze在这里用了也没用,或是我不会用.

分数少我可以加的,上面的回答的朋友虽没解决我的问题,但也有辛苦分的.本人不会拖着不结帖的!
回复
sz100wwb 2008-01-07
D7的dbexpmss.dll已经用了新的,家里和公司用的一样,还是公司的出问题,家里的正常.
反正dbexpmss.dll问题很多,我不打算用这个驱动了.Borland明知有bug也不更正,多少年了还是提供这么个问题驱动!
也不知道在打什么算盘?有人说是和microsoft的竞争关系的原因.
回复
hhnick 2008-01-07
这个是dbexpress的驱动吧,换个试试,可能是版本的问题
回复
sz100wwb 2008-01-07
发现了点问题,是dbexpmss.dll的问题.
但是为什么我家里的dbexpmss.dll不会出错!
原因还是不明!
回复
hhnick 2008-01-05
sql2000的开发版和企业版基本没区别,
建议检查存储过程,可以将存储过程的代码只写一行update,或者干脆什么都不写,直接返回,看还有问题吗?
然后再逐渐吧代码加上去

另外,可以写一个测试程序,在本地用直接调用存储过程,开有这样的问题吗?
回复
sz100wwb 2008-01-05
可是我安装的都是企业版 真不知道怎么查原因! 郁闷中...
回复
wxsan 2008-01-05
// 个人觉得可能和你安装的数据库版本有关系

win2003可以安装企业版,而winxp和win2000则不能安装SQL2000的企业版。
大家知道企业版功能更强大,而个人版或开发版则功能受到限制,
限制包括连接数、并发个数、事务等。
如果不是,则考虑其他情况。

// 建议:如果不是数据库版本的问题,可以考虑一下是不是update的存储过程里面
启动了事务的情况下没有提交,或是出现异常,没有回滚,造成锁表的情况,
因为对于select,delete和update语句,锁表造成的结果是不一样的,
select 不会受到影响,而update则不行。

如果有什么问题,欢迎继续讨论。。。
回复
sz100wwb 2008-01-05
重新装了操作系统后,Delphi7+Win2003+SQL2000下也出问题了! 真是怪了!
回复
yi10000 2008-01-04
沙发,再看
回复
ysai 2008-01-04
...只用ADO的爬过
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1565

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告