连接池都已被使用

521kevin 2004-04-24 03:17:49
系统提示如下:
超时时间已到。在从池中获取连接时间前超时时间已过。出现这种情况可能是因为
所有池连接都已被使用并以达到最大池大小

我已经把连接时间改为无限制,可还是出现这种情况!怎么办!!!
...全文
37 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sunonce 2004-04-26
  • 打赏
  • 举报
回复
你应该是设置一个连接使用超时时间,超过使用时间就收回连接。
wiwi5888 2004-04-25
  • 打赏
  • 举报
回复
to netcoder(正当商人) 的这种方法在WEB的连接池中是不可用的,因为连接池本来就是缓存的如果全部的kill掉,就会令其他在等待的用户得不到连接。
to 521kevin(蓝电飞雪)在你的连接池中适当的释放连接,具体的释放那就要看你的程序要实现的工能了。
521kevin 2004-04-24
  • 打赏
  • 举报
回复
在查询分析其中直接执行显示

必须声明变量 '@k_spid'。

netcoder 2004-04-24
  • 打赏
  • 举报
回复
可能上连接没有被正常的释放,另外网速是否正常呢

--杀掉sleeping的进程
USE master
go
DECLARE cur1 CURSOR FOR
SELECT spid FROM sysprocesses
WHERE dbid=15 and status='sleeping'

OPEN cur1
declare @id varchar(10)
FETCH NEXT FROM cur1
INTO @id
WHILE @@FETCH_STATUS = 0
BEGIN
exec('kill '+@id)
FETCH NEXT FROM cur1
INTO @k_spid
END
CLOSE cur1
DEALLOCATE cur1
GO

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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