救命,500分问题求救,数据库进程堵塞的问题,钱不够可以再加(300分)

  • 主题发起人 主题发起人 kccp
  • 开始时间 开始时间
K

kccp

Unregistered / Unconfirmed
GUEST, unregistred user!
我们公司的一个软件产品,使用d5+bde+odbc+后台mssql2000开发的,在运行时,出现
这么一个问题,使用时间长了以后,大概1-3天之后,期间客户端每天关机,服务器不
关,会出现部分客户无法登录到数据库,比如说前70个客户能登录,但第71个起就不行了。
客户端大概有70-150个不等。这时重起一下mssql200就一切正常了。
其它说明:1。我们的软件销了50套左右,大概只有2个用户这里有上述的问题。
而且这两个用户一个终端特别多(150个),一个少(40个)。
2。以前使用mssql7.0从没有出过问题。
我的问题:
我们怀疑
1。可能是sql2000进程堵塞的问题,那么,用什么方法可以避免堵塞引起死锁,
可以修改软件避免吗?还是只要sql2000里设置一下就可以了
2。可能 dephi +bde 和odbc组件(mdac_typ 2。1)及sql2000配合的问题,那么该怎么解决?
3。其它可能性请大侠赐教。


 
改成三层吧!
 
即使三层也不要用BDE/ODBC。选用ADO是最佳选择!
 
有没有搞错?改?
人家都已经是成熟的产品了,你一位玩玩小打小闹,说改就改?
肯定是数据库本身的问题了。你叫他们买正版好了,要不也不关你事。^_^
话说回来我从来没觉得ODBC有什么不好?速度快就是它的最大优势。
 
我们的客户从windows2000到MSSQL2000到其他的软件全部是正版的啊!
 
正版的,找microsoft的技术支持呀,问以下,怎么搞的
都买正版的了,不麻烦麻烦microsoft,怎么对得起他们
 
我也遇到过,不过很奇怪,好像有的时候,如果你等上半个小时,在进去就好了。
我以前没有办法,只好重新启动sqlserver,后来发现如果你的网络是使用dhcp的话,只要
将客户的ip地址删除,然后再重新启动就好了,真实莫名其妙。
 
弟兄们,如果靠ms搞的定的话花,就不会来麻烦大伙了
 
我也在解决这个问题?估计您的程序与SESSION有关。我正在进行中。请稍等。
 
在出现部分客户无法登录到数据库时
测试ODBC连接是否成功 ?
CPU和内存使用是否异常 ?
运行中使用过的临时表是否完全释放?
(呵呵,个人观点)
 
这种情况是因为session并没有即里释放掉,
如果使用ADO的话,可能比BDE好点.
你可以在mssql 2000中查看一下所有的连接,是否客户端关机后,连接也断开了.

//继续关注此题.
 
ms的产品就是这样,我们的sql,win2000经常要重起
 
肯定是多余的会话没有释放掉
我用ORACLE遇到过,不用重起,把长期不用的SESSION KILL就行了,
要么要DBA手工干,了不起自己编程,定期扫描,把长期不活动的SESSION
KILL掉就行了
 
1。你以前的开发环境用的是SQL7?那么你就不应该使用SQL2000了。
2。用SQL2000的话,应该用ADO连接,而且应该有2.7版本的。。不要使用BDE,支持有问题。

[:)]
 
大家都在谈 SQL ,我却想到一个问题。
是网络连接的问题,太多的无效数据包或频繁的查询(含 DHCP 动态配置)会导致登录超时与阻塞。
如果查了会话期没问题的话,请注意这个问题。
 
这个问题不好说:
1、对数据库操作不当有可能,锁表过多,sql语句过于复杂
2、程序有资源泄漏问题,win2000有自带的程序检查
不过我想可能sql不合理,在多用户并发时有问题。
 
后退
顶部