在服务器上运行时间长了,就会出现,如下情况:
timeout expired.the timeout period to obtaining a connection frm the pool.this have occurred all pooled connectionw were in use and max pool size wan reached.程序如下:
string strSQL="select sum(usercount) as count1 from usercount";
SqlCommand myComm=new SqlCommand(strSQL ,objConnection);
myComm.CommandTimeout=800000;
objConnection.Open();
数据连接那一块为 <add key="ConnectString" value="Data Source=fuwu;User Id=aa;Password=;DataBase=PM;Connect Timeout=90" />
请大家帮忙解决,谢谢!我用的是VS2003+SQL2000
timeout expired.the timeout period to obtaining a connection frm the pool.this have occurred all pooled connectionw were in use and max pool size wan reached.程序如下:
string strSQL="select sum(usercount) as count1 from usercount";
SqlCommand myComm=new SqlCommand(strSQL ,objConnection);
myComm.CommandTimeout=800000;
objConnection.Open();
数据连接那一块为 <add key="ConnectString" value="Data Source=fuwu;User Id=aa;Password=;DataBase=PM;Connect Timeout=90" />
请大家帮忙解决,谢谢!我用的是VS2003+SQL2000
解决方案 »
- Gridview动态绑定数据库生成超链接列就像CSDN论坛上点击帖子名称可以进入页面
- 在线等待...使用html控件获取上传文件的路径,不适用服务器端控件,如何实现上传
- 公司让做一个积分管理系统,求思路
- ASP.NET 用JS接收ActiveX控件返回的数组问题
- 请会JS的朋友帮我改改!
- GridView中显示主表的userid,但我想让它显示关连中对应的username
- 关于treeview和checkboxlist的问题
- 求sharepoint portal server2003!
- 如何在SqlDataSource update 数据时进行事务管理?
- 关于站内搜索的问题及判断用户是否登陆的问题~`~~高手来指教!!!
- 错误:必须声明标量变量
- menu 子菜单如何横向显示
等数据库过期时间到了以后,myComm 就会出错
有点郁闷
默认的情况下 SqlConnection 会启用连接池,连接数为 100 个当 SqlConnection.Open() 时会从连接池中取出连接实例,当 SqlConnection.Close() 时会把连接实例返回到连接池中。上述错误是因为你显式的打开连接,却没有显示的关闭连接造成的(不关闭连接不会返回到连接池)。
解决办法:
1)最简单的是在构造 ConnectionString 字符串中关闭连接池(详见 MSDN)。
2)检查所有使用到 SqlConnection 的代码处,是否显示的关闭了连接。
ADO.NET的连接池一定要释放的,虽然Framwork有垃圾回收器,我们也要手动写代码释放来提高服务器的运行效率。
要么你在Finaly里边dispose(),要么写在using(){}里边!