日期:2014-05-18  浏览次数:20711 次

数据连接池超时现象,请大家帮帮忙
小弟刚刚开始学习,很多地方以后还要大家多学习
代码是这样的:
private   void   tmConnWatcher_Tick(object   sender,   EventArgs   e)
{
      decimal   my_alarm_level   =   0;
      SqlConnection   thisconnection   =   new   SqlConnection(@ "server   =   JY1;   Database=     JY;   User   ID   =   jy;   Password   =jy   ");
      string   mystring   =   "SELECT   TOP   1   ALARM_START_TIME   AS   AVP1   ,   ALARM_EVENT   AS   AVP2   ,   ALARM_LEVEL   AS   AVP3   FROM   Alarm_Event   order   by   AlARM_START_TIME   DESC ";
      SqlCommand   MyCommand   =   new   SqlCommand(mystring,   thisconnection);
      thisconnection.Open();
      SqlDataReader   myreader   =   MyCommand.ExecuteReader();
      myreader.Read();

      my_alarm_level   =   (decimal)myreader[ "AVP3 "];
      thisconnection.Close();
}
我把里面的内容写在一个十秒循环一次的timer控件里,编译也通过了,也运行成功了,但当form运行一断时间后(十分钟左右)。thisconnection.Open()这地方就会提示数据连接超时,可能已达到最大连接数。。。但是我已经把数据连接close了阿。查询资料后还是不能解决,请大家都来帮帮忙
我是新手,也刚开始上CSDN。以后也得清大家多帮助小弟

------解决方案--------------------
thisconnection.Close();
thisconnection.dispose();

这样才能真正的释放,试试看,慢慢来,总会好的,呵呵~~
==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
优惠接单开发,组件控件定制开发,成品源代码批发
联系方式:Q64180940 全天在线
==================================================================
------解决方案--------------------
如果是需要长连接,就不建议重复Open,直接声明一个公共变量就是了。
这样不用每次操作都作Open打开,只要简单的判断一下状态就可以了。

==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
优惠接单开发,组件控件定制开发,成品源代码批发
联系方式:Q64180940 全天在线
==================================================================